diff --git a/Elwig/Services/DeliveryAncmtService.cs b/Elwig/Services/DeliveryAncmtService.cs index 363f992..241aab1 100644 --- a/Elwig/Services/DeliveryAncmtService.cs +++ b/Elwig/Services/DeliveryAncmtService.cs @@ -211,7 +211,8 @@ namespace Elwig.Services { int newMgNr = vm.MgNr!.Value; string newSortId = vm.SortId!; - using (var ctx = new AppDbContext()) { + await Task.Run(async () => { + using var ctx = new AppDbContext(); var a = new DeliveryAncmt { Year = oldYear ?? year, DsNr = oldDsNr ?? dsnr, @@ -232,7 +233,7 @@ namespace Elwig.Services { if (oldDsNr != null && (oldYear != year || oldDsNr != dsnr || oldMgNr != newMgNr || oldSortId != newSortId)) { await ctx.Database.ExecuteSqlAsync($"UPDATE delivery_announcement SET year = {year}, dsnr = {dsnr}, mgnr = {newMgNr}, sortid = {newSortId} WHERE (year, dsnr, mgnr, sortid) = ({a.Year}, {a.DsNr}, {a.MgNr}, {a.SortId})"); } - } + }); App.HintContextChange(); @@ -269,25 +270,29 @@ namespace Elwig.Services { Title = $"{DeliveryAncmtList.Name} speichern unter - Elwig" }; if (d.ShowDialog() == true) { - Mouse.OverrideCursor = Cursors.AppStarting; - try { - var data = await DeliveryAncmtListData.FromQuery(query, filterNames); - using var ods = new OdsFile(d.FileName); - await ods.AddTable(data); - } catch (Exception exc) { - MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); - } + Mouse.OverrideCursor = Cursors.Wait; + await Task.Run(async () => { + try { + var data = await DeliveryAncmtListData.FromQuery(query, filterNames); + using var ods = new OdsFile(d.FileName); + await ods.AddTable(data); + } catch (Exception exc) { + MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); + } + }); Mouse.OverrideCursor = null; } } else { - Mouse.OverrideCursor = Cursors.AppStarting; - try { - var data = await DeliveryAncmtListData.FromQuery(query, filterNames); - using var doc = new DeliveryAncmtList(string.Join(" / ", filterNames), data); - await Utils.ExportDocument(doc, mode); - } catch (Exception exc) { - MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); - } + Mouse.OverrideCursor = Cursors.Wait; + await Task.Run(async () => { + try { + var data = await DeliveryAncmtListData.FromQuery(query, filterNames); + using var doc = new DeliveryAncmtList(string.Join(" / ", filterNames), data); + await Utils.ExportDocument(doc, mode); + } catch (Exception exc) { + MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); + } + }); Mouse.OverrideCursor = null; } } diff --git a/Elwig/Windows/DeliveryAncmtAdminWindow.xaml.cs b/Elwig/Windows/DeliveryAncmtAdminWindow.xaml.cs index c013a97..25030b9 100644 --- a/Elwig/Windows/DeliveryAncmtAdminWindow.xaml.cs +++ b/Elwig/Windows/DeliveryAncmtAdminWindow.xaml.cs @@ -317,18 +317,19 @@ namespace Elwig.Windows { $"Soll die Anmeldung wirklich unwiderruflich gelöscht werden?", "Anmeldung löschen", MessageBoxButton.OKCancel, MessageBoxImage.Warning, MessageBoxResult.Cancel); if (r == MessageBoxResult.OK) { - Mouse.OverrideCursor = Cursors.AppStarting; - try { - using (var ctx = new AppDbContext()) { + Mouse.OverrideCursor = Cursors.Wait; + await Task.Run(async () => { + try { + using var ctx = new AppDbContext(); ctx.Remove(a); await ctx.SaveChangesAsync(); + } catch (Exception exc) { + var str = "Der Eintrag konnte nicht in der Datenbank aktualisiert werden!\n\n" + exc.Message; + if (exc.InnerException != null) str += "\n\n" + exc.InnerException.Message; + MessageBox.Show(str, "Anmeldung löschen", MessageBoxButton.OK, MessageBoxImage.Error); } - App.HintContextChange(); - } catch (Exception exc) { - var str = "Der Eintrag konnte nicht in der Datenbank aktualisiert werden!\n\n" + exc.Message; - if (exc.InnerException != null) str += "\n\n" + exc.InnerException.Message; - MessageBox.Show(str, "Anmeldung löschen", MessageBoxButton.OK, MessageBoxImage.Error); - } + }); + App.HintContextChange(); Mouse.OverrideCursor = null; } } @@ -340,7 +341,7 @@ namespace Elwig.Windows { } private async void SaveButton_Click(object? sender, RoutedEventArgs? evt) { - Mouse.OverrideCursor = Cursors.AppStarting; + Mouse.OverrideCursor = Cursors.Wait; SaveButton.IsEnabled = false; int year = -1, dsnr = -1, mgnr = -1;