using System; using System.Collections.Generic; using System.Windows; using System.Windows.Input; using JD.Application.Program; using ProfessionalSpammer; using Ubisoft; namespace JD.Application.View.Misc { public enum FeedbackType { Positive, Negative } /// /// Interaction logic for FeedbackBox.xaml /// public partial class FeedbackBox { private string _toolsEmail = "JDFeedback@ubisoft.com"; private string _supportEmail = "JDSupport@ubisoft.com"; private FeedbackType _feedbackType; public FeedbackBox() { InitializeComponent(); Smile.Cursor = Cursors.Hand; Frown.Cursor = Cursors.Hand; Send.Click += SendClick; EditInOutlook.Click += OpenInOutlook; SelectFeedbackType(FeedbackType.Positive); } private void SmileClick(object sender, MouseButtonEventArgs e) { SelectFeedbackType(FeedbackType.Positive); } private void FrownClick(object sender, MouseButtonEventArgs e) { SelectFeedbackType(FeedbackType.Negative); } private void SelectFeedbackType(FeedbackType type) { _feedbackType = type; if (type == FeedbackType.Positive) { Frown.BorderThickness = new Thickness(0); Smile.BorderThickness = new Thickness(1); } else { Frown.BorderThickness = new Thickness(1); Smile.BorderThickness = new Thickness(0); } } private void SendClick(object sender, EventArgs e) { var feedback = _feedbackType == FeedbackType.Positive ? "Positive" : "Negative"; var mailTo = _feedbackType == FeedbackType.Positive ? _toolsEmail : _supportEmail; Mail.Send(ActiveDirectory.GetEmailForCurrentUser(), mailTo, $"[{feedback} Feedback] {ProgramIdentity.Instance.Name}", Description.Text, false); Close(); } private void OpenInOutlook(object sender, EventArgs e) { var feedback = _feedbackType == FeedbackType.Positive ? "Positive" : "Negative"; var mailTo = _feedbackType == FeedbackType.Positive ? _toolsEmail : _supportEmail; var mailSender = new OutlookInteropMailSender { Subject = $"[{feedback} Feedback] {ProgramIdentity.Instance.Name}", Recipients = new HashSet { mailTo }, Content = Description.Text, Priority = MailPriority.Low, Sender = ActiveDirectory.GetEmailForCurrentUser() }; mailSender.OpenInOutlook(); Close(); } } }