Files
BeWoPlaner/BeWo/View/ExceptionMessageBoxWithSupportMail.xaml.cs

113 lines
4.0 KiB
C#

using BeWo.ServiceProxy;
using BS.Shared;
using BS.Shared.Translation;
using System;
using System.Windows;
namespace BeWo.View
{
public partial class ExceptionMessageBoxWithSupportMail
{
public ExceptionMessageBoxWithSupportMail(Exception ex)
{
InitializeComponent();
tb_errorTitle.Text = Translator.Translate("Es ist leider ein unbekannter Fehler aufgetreten.");
tb_message.Text = Translator.Translate(
"Wir entschuldigen uns für die Unannehmlichkeiten. Wenn Sie möchten, können Sie die Fehlermeldung direkt an unseren Support schicken.");
tb_description.Text = Translator.Translate("Möchten Sie uns erläutern, unter welchen Umständen der Fehler aufgetreten ist?");
chkKontaktdaten.Content = Translator.Translate("Kontaktdaten übermittlen");
tb_kontaktdatentitle.Text = Translator.Translate("Wenn Sie uns Ihre E-Mail Adresse oder Telefonnummer mitteilen, können wir Sie bei Rückfragen leichter kontaktieren.");
if (ex != null)
{
tb_stack.Text = String.Format("{0}:\n{1}", ex.Message, ex.StackTrace);
}
}
private void Button_SendToSupport_Click(object sender, RoutedEventArgs e)
{
string nachricht = String.Format("Beschreibung:\n{0}", tb_errorDesciption.Text);
nachricht += string.Format("\n\n{0}", BeWoApp.Version);
if (CheckBoxSupportPin.IsChecked.HasValue && CheckBoxSupportPin.IsChecked.Value)
{
nachricht += string.Format("\n\nPIN: *****");
}
if (chkKontaktdaten.IsChecked.HasValue && chkKontaktdaten.IsChecked.Value)
{
nachricht += string.Format("\n\nKontaktdaten: {0}", tb_kontaktdaten.Text);
}
nachricht += String.Format("\n\nFehlerdetails:\n{0}", tb_stack.Text);
EMailVersenden("", "", "FEHLERMELDUNG", nachricht);
}
private void EMailVersenden(string senderName, string senderEMail, string betreff, string nachricht)
{
var result = ServiceFacade.DoMailServiceSync(m => m.SendEMailWithSender(senderName, senderEMail, betreff, nachricht));
if (result)
{
CloseDialog();
MessageBox.Show("Die E-Mail wurde erfolgreich versendet.", "E-Mail senden", MessageBoxButton.OK,
MessageBoxImage.Information);
}
else
{
MessageBox.Show("Die E-Mail konnte leider nicht gesendet werden", "E-Mail senden", MessageBoxButton.OK,
MessageBoxImage.Error);
}
}
private void Button_Click(object sender, RoutedEventArgs e)
{
CloseDialog();
}
private void CloseDialog()
{
if (BeWoApp.MainControl != null)
{
BeWoApp.MainControl.CloseCurrentPopUp();
}
else if (BeWoApp.LoginControl != null)
{
BeWoApp.LoginControl.CloseCurrentPopUp();
}
}
private void chkKontaktdaten_Checked(object sender, RoutedEventArgs e)
{
if (chkKontaktdaten.IsChecked.HasValue && chkKontaktdaten.IsChecked.Value)
{
if (BeWoApp.LoggedOnEmployee != null)
{
if (BeWoApp.LoggedOnEmployee.ContactInformations != null)
{
foreach (var contact in BeWoApp.LoggedOnEmployee.ContactInformations)
{
if (contact.ContactType == ContactType.business_Mail)
{
tb_kontaktdaten.Text = contact.ContactValue;
}
}
}
}
}
}
}
}