97 lines
No EOL
2.8 KiB
C#
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();
|
|
}
|
|
}
|
|
} |