[#57] PaymentVariantsWindow: Use Task.Run()
All checks were successful
Test / Run tests (push) Successful in 1m49s

This commit is contained in:
2025-07-07 23:14:03 +02:00
parent 7c9844e277
commit 64832e9a53
2 changed files with 124 additions and 81 deletions

View File

@ -98,7 +98,9 @@ namespace Elwig.Windows {
}
private async void CopyButton_Click(object sender, RoutedEventArgs evt) {
if (PaymentVariantList.SelectedItem is not PaymentVar orig) return;
if (PaymentVariantList.SelectedItem is not PaymentVar orig)
return;
Mouse.OverrideCursor = Cursors.Wait;
try {
PaymentVar n = await orig.Duplicate();
ControlUtils.SelectItem(PaymentVariantList, n);
@ -107,10 +109,13 @@ namespace Elwig.Windows {
if (exc.InnerException != null) str += "\n\n" + exc.InnerException.Message;
MessageBox.Show(str, "Auszahlungsvariante kopieren", MessageBoxButton.OK, MessageBoxImage.Error);
}
Mouse.OverrideCursor = null;
}
private async void DeleteButton_Click(object sender, RoutedEventArgs evt) {
if (PaymentVariantList.SelectedItem is not PaymentVar v || !v.TestVariant) return;
if (PaymentVariantList.SelectedItem is not PaymentVar v || !v.TestVariant)
return;
Mouse.OverrideCursor = Cursors.Wait;
try {
await PaymentVariantService.DeletePaymentVariant(v.Year, v.AvNr);
} catch (Exception exc) {
@ -118,19 +123,19 @@ namespace Elwig.Windows {
if (exc.InnerException != null) str += "\n\n" + exc.InnerException.Message;
MessageBox.Show(str, "Auszahlungsvariante löschen", MessageBoxButton.OK, MessageBoxImage.Error);
}
Mouse.OverrideCursor = null;
}
private async void CalculateButton_Click(object sender, RoutedEventArgs evt) {
if (PaymentVariantList.SelectedItem is not PaymentVar v)
return;
ViewModel.CalculateIsEnabled = false;
Mouse.OverrideCursor = Cursors.AppStarting;
Mouse.OverrideCursor = Cursors.Wait;
try {
await PaymentVariantService.Calculate(v.Year, v.AvNr);
} catch (Exception exc) {
MessageBox.Show(exc.Message, "Berechnungsfehler", MessageBoxButton.OK, MessageBoxImage.Error);
}
App.HintContextChange();
Mouse.OverrideCursor = null;
ViewModel.CalculateIsEnabled = true;
}
@ -161,24 +166,7 @@ namespace Elwig.Windows {
private async void Menu_SummaryExport_Click(object sender, RoutedEventArgs evt) {
if (PaymentVariantList.SelectedItem is not PaymentVar v)
return;
var d = new SaveFileDialog() {
FileName = $"Variantendaten-{v.Name.Trim().Replace(' ', '-')}.ods",
DefaultExt = "ods",
Filter = "OpenDocument Format Spreadsheet (*.ods)|*.ods",
Title = $"Variantendaten {v.Name} speichern unter - Elwig"
};
if (d.ShowDialog() == false)
return;
Mouse.OverrideCursor = Cursors.AppStarting;
try {
using var ctx = new AppDbContext();
var data = await PaymentVariantSummaryData.ForPaymentVariant(v, ctx.PaymentVariantSummaryRows);
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;
await PaymentVariantService.GenerateSummary(v, ExportMode.SaveList);
}
private async void Menu_SummaryShow_Click(object sender, RoutedEventArgs evt) {
@ -203,16 +191,14 @@ namespace Elwig.Windows {
if (PaymentVariantList.SelectedItem is not PaymentVar v)
return;
ViewModel.CommitIsEnabled = false;
Mouse.OverrideCursor = Cursors.AppStarting;
Mouse.OverrideCursor = Cursors.Wait;
try {
var b = new BillingVariant(v.Year, v.AvNr);
await b.Commit();
await PaymentVariantService.Commit(v.Year, v.AvNr);
} catch (Exception exc) {
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
}
Mouse.OverrideCursor = null;
ViewModel.RevertIsEnabled = true;
App.HintContextChange();
}
private async void RevertButton_Click(object sender, RoutedEventArgs evt) {
@ -225,10 +211,12 @@ namespace Elwig.Windows {
if (res != MessageBoxResult.Yes)
return;
ViewModel.RevertIsEnabled = false;
Mouse.OverrideCursor = Cursors.AppStarting;
var b = new BillingVariant(v.Year, v.AvNr);
await b.Revert();
App.HintContextChange();
Mouse.OverrideCursor = Cursors.Wait;
try {
await PaymentVariantService.Revert(v.Year, v.AvNr);
} catch (Exception exc) {
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
}
Mouse.OverrideCursor = null;
ViewModel.CommitIsEnabled = true;
}
@ -250,7 +238,9 @@ namespace Elwig.Windows {
}
private async void SaveButton_Click(object sender, RoutedEventArgs evt) {
if (PaymentVariantList.SelectedItem is not PaymentVar v || ViewModel.BillingData == null) return;
if (PaymentVariantList.SelectedItem is not PaymentVar v || ViewModel.BillingData == null)
return;
Mouse.OverrideCursor = Cursors.Wait;
try {
await ViewModel.UpdatePaymentVariant(v.Year, v.AvNr);
} catch (Exception exc) {
@ -259,6 +249,7 @@ namespace Elwig.Windows {
if (exc.InnerException != null) str += "\n\n" + exc.InnerException.Message;
MessageBox.Show(str, "Auszahlungsvariante aktualisieren", MessageBoxButton.OK, MessageBoxImage.Error);
}
Mouse.OverrideCursor = null;
await HintContextChange();
CommentInput_TextChanged(null, null);
DateInput_TextChanged(null, null);