Utils: Fix thread error when sending emails
All checks were successful
Test / Run tests (push) Successful in 2m27s

This commit is contained in:
2025-08-19 15:42:47 +02:00
parent 7e21d9e2e4
commit 07f9a0f522

View File

@@ -498,10 +498,7 @@ namespace Elwig.Helpers {
public static async Task<bool> SendEmail(Member member, string subject, string text, IEnumerable<Document> docs) {
if (App.Config.Smtp == null)
return false;
Mouse.OverrideCursor = Cursors.Wait;
var success = await Task.Run(async () => {
return await Task.Run(async () => {
SmtpClient? client = null;
try {
client = await GetSmtpClient();
@@ -529,18 +526,15 @@ namespace Elwig.Helpers {
}
return true;
});
Mouse.OverrideCursor = null;
return success;
}
public static async Task ExportDocument(Document doc, ExportMode mode, string? filename = null, (Member, string, string)? emailData = null) {
public static async Task ExportDocument(Document doc, ExportMode mode, string? filename = null, (Member Member, string Subject, string Text)? emailData = null) {
if (mode == ExportMode.Print && !App.Config.Debug) {
await doc.Generate();
await doc.Print();
} else if (mode == ExportMode.Email && emailData is (Member, string, string) e) {
await doc.Generate();
var success = await SendEmail(e.Item1, e.Item2, e.Item3, [doc]);
var success = await SendEmail(e.Member, e.Subject, e.Text, [doc]);
if (success)
MessageBox.Show("Die E-Mail wurde erfolgreich verschickt!", "E-Mail verschickt",
MessageBoxButton.OK, MessageBoxImage.Information);