[#57] PaymentAdjustmentWindow: Use Task.Run()

This commit is contained in:
2025-07-07 23:59:41 +02:00
parent 070dda1bde
commit 6eaa928147

View File

@ -156,7 +156,7 @@ namespace Elwig.Windows {
} }
private async void AutoAdjustBsButton_Click(object sender, RoutedEventArgs evt) { private async void AutoAdjustBsButton_Click(object sender, RoutedEventArgs evt) {
Mouse.OverrideCursor = Cursors.AppStarting; Mouse.OverrideCursor = Cursors.Wait;
try { try {
int? kg = AllowanceKgInput.Text == "" ? null : int.Parse(AllowanceKgInput.Text); int? kg = AllowanceKgInput.Text == "" ? null : int.Parse(AllowanceKgInput.Text);
double? bs = AllowanceBsInput.Text == "" ? null : double.Parse(AllowanceBsInput.Text); double? bs = AllowanceBsInput.Text == "" ? null : double.Parse(AllowanceBsInput.Text);
@ -169,10 +169,12 @@ namespace Elwig.Windows {
App.Client.AutoAdjustBs.AllowanceKgPerBs = kgPerBs; App.Client.AutoAdjustBs.AllowanceKgPerBs = kgPerBs;
App.Client.AutoAdjustBs.AllowancePercent = percent; App.Client.AutoAdjustBs.AllowancePercent = percent;
App.Client.AutoAdjustBs.MinBs = minBs; App.Client.AutoAdjustBs.MinBs = minBs;
await App.Client.UpdateValues();
var b = new Billing(Year); await Task.Run(async () => {
await b.AutoAdjustBusinessShares(new DateOnly(Year, 11, 30), kg ?? default, bs ?? default, kgPerBs ?? default, percent / 100.0 ?? default, minBs ?? default); await App.Client.UpdateValues();
var b = new Billing(Year);
await b.AutoAdjustBusinessShares(new DateOnly(Year, 11, 30), kg ?? default, bs ?? default, kgPerBs ?? default, percent / 100.0 ?? default, minBs ?? default);
});
App.HintContextChange(); App.HintContextChange();
} catch (Exception exc) { } catch (Exception exc) {
var str = "Der Eintrag konnte nicht in der Datenbank aktualisiert werden!\n\n" + exc.Message; var str = "Der Eintrag konnte nicht in der Datenbank aktualisiert werden!\n\n" + exc.Message;
@ -183,10 +185,12 @@ namespace Elwig.Windows {
} }
private async void UnAdjustBsButton_Click(object sender, RoutedEventArgs evt) { private async void UnAdjustBsButton_Click(object sender, RoutedEventArgs evt) {
Mouse.OverrideCursor = Cursors.AppStarting; Mouse.OverrideCursor = Cursors.Wait;
try { try {
var b = new Billing(Year); await Task.Run(async () => {
await b.UnAdjustBusinessShares(); var b = new Billing(Year);
await b.UnAdjustBusinessShares();
});
App.HintContextChange(); App.HintContextChange();
} catch (Exception exc) { } catch (Exception exc) {
var str = "Der Eintrag konnte nicht in der Datenbank aktualisiert werden!\n\n" + exc.Message; var str = "Der Eintrag konnte nicht in der Datenbank aktualisiert werden!\n\n" + exc.Message;
@ -281,29 +285,31 @@ namespace Elwig.Windows {
private async void CustomButton_Click(object sender, RoutedEventArgs evt) { private async void CustomButton_Click(object sender, RoutedEventArgs evt) {
if (MemberInput.SelectedItem is not Member m) return; if (MemberInput.SelectedItem is not Member m) return;
Mouse.OverrideCursor = Cursors.AppStarting; Mouse.OverrideCursor = Cursors.Wait;
try { try {
using var ctx = new AppDbContext(); await Task.Run(async () => {
if (CustomPayments?.TryGetValue(m.MgNr, out var p) == true) { using var ctx = new AppDbContext();
ctx.Remove(p); if (CustomPayments?.TryGetValue(m.MgNr, out var p) == true) {
} ctx.Remove(p);
if (sender == SaveCustomButton) { }
var modAbs = decimal.TryParse(CustomModAbsInput.Text, out var n1) ? (decimal?)n1 : null; if (sender == SaveCustomButton) {
var modRel = decimal.TryParse(CustomModRelInput.Text, out var n2) ? (decimal?)n2 / 100 : null; var modAbs = decimal.TryParse(CustomModAbsInput.Text, out var n1) ? (decimal?)n1 : null;
var amount = decimal.TryParse(CustomAmountInput.Text, out var n3) ? (decimal?)n3 : null; var modRel = decimal.TryParse(CustomModRelInput.Text, out var n2) ? (decimal?)n2 / 100 : null;
var modText = CustomModCommentInput.Text.Trim(); var amount = decimal.TryParse(CustomAmountInput.Text, out var n3) ? (decimal?)n3 : null;
var text = CustomCommentInput.Text.Trim(); var modText = CustomModCommentInput.Text.Trim();
ctx.Add(new PaymentCustom { var text = CustomCommentInput.Text.Trim();
MgNr = m.MgNr, ctx.Add(new PaymentCustom {
Year = Year, MgNr = m.MgNr,
ModAbs = modAbs, Year = Year,
ModRel = modRel, ModAbs = modAbs,
ModComment = modText == "" ? null : modText, ModRel = modRel,
Amount = amount, ModComment = modText == "" ? null : modText,
Comment = text == "" ? null : text, Amount = amount,
}); Comment = text == "" ? null : text,
} });
await ctx.SaveChangesAsync(); }
await ctx.SaveChangesAsync();
});
} catch (Exception exc) { } catch (Exception exc) {
var str = "Der Eintrag konnte nicht in der Datenbank aktualisiert werden!\n\n" + exc.Message; 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; if (exc.InnerException != null) str += "\n\n" + exc.InnerException.Message;