JD2022-TU1/main/tools/framework/JD.Application.TeaBox/View/Misc/FeedbackBox.xaml.cs

97 lines
No EOL
2.8 KiB
C#

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
}
/// <summary>
/// Interaction logic for FeedbackBox.xaml
/// </summary>
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<string> { mailTo },
Content = Description.Text,
Priority = MailPriority.Low,
Sender = ActiveDirectory.GetEmailForCurrentUser()
};
mailSender.OpenInOutlook();
Close();
}
}
}