PaymentVariantsWindow: Use async for UpdateSums()
This commit is contained in:
@ -43,10 +43,10 @@ namespace Elwig.Windows {
|
||||
.OrderBy(v => v.AvNr)
|
||||
.Include(v => v.Season.Currency)
|
||||
.ToListAsync(), v => (v as PaymentVar)?.AvNr);
|
||||
Update();
|
||||
await Update();
|
||||
}
|
||||
|
||||
private void Update() {
|
||||
private async Task Update() {
|
||||
if (PaymentVariantList.SelectedItem is PaymentVar v) {
|
||||
var locked = !v.TestVariant;
|
||||
DeleteButton.IsEnabled = !locked;
|
||||
@ -139,7 +139,7 @@ namespace Elwig.Windows {
|
||||
DataInput.Text = "";
|
||||
DataInput.IsReadOnly = true;
|
||||
}
|
||||
UpdateSums();
|
||||
await UpdateSums();
|
||||
UpdateSaveButton();
|
||||
}
|
||||
|
||||
@ -156,17 +156,17 @@ namespace Elwig.Windows {
|
||||
CommitButton.IsEnabled = CalculateButton.IsEnabled;
|
||||
}
|
||||
|
||||
private void UpdateSums() {
|
||||
private async Task UpdateSums() {
|
||||
if (PaymentVariantList.SelectedItem is PaymentVar v) {
|
||||
using var ctx = new AppDbContext();
|
||||
var sym = v.Season.Currency.Symbol;
|
||||
var modSum = ctx.PaymentDeliveryParts
|
||||
var modSum = await ctx.PaymentDeliveryParts
|
||||
.Where(p => p.Year == v.Year && p.AvNr == v.AvNr)
|
||||
.Sum(p => p.AmountValue - p.NetAmountValue);
|
||||
.SumAsync(p => p.AmountValue - p.NetAmountValue);
|
||||
ModifierSum.Text = $"{v.Season.DecFromDb(modSum):N2} {sym}";
|
||||
var totalSum = ctx.MemberPayments
|
||||
var totalSum = await ctx.MemberPayments
|
||||
.Where(p => p.Year == v.Year && p.AvNr == v.AvNr)
|
||||
.Sum(p => p.AmountValue);
|
||||
.SumAsync(p => p.AmountValue);
|
||||
TotalSum.Text = $"{v.Season.DecFromDb(totalSum):N2} {sym}";
|
||||
var credits = ctx.Credits.Where(c => c.Year == v.Year && c.AvNr == v.AvNr);
|
||||
if (!credits.Any()) {
|
||||
@ -174,9 +174,9 @@ namespace Elwig.Windows {
|
||||
DeductionSum.Text = $"- {sym}";
|
||||
PaymentSum.Text = $"- {sym}";
|
||||
} else {
|
||||
VatSum.Text = $"{v.Season.DecFromDb(credits.Sum(c => c.VatAmountValue)):N2} {sym}";
|
||||
DeductionSum.Text = $"{-v.Season.DecFromDb(credits.Sum(c => c.ModifiersValue ?? 0)):N2} {sym}";
|
||||
PaymentSum.Text = $"{v.Season.DecFromDb(credits.Sum(c => c.AmountValue)):N2} {sym}";
|
||||
VatSum.Text = $"{v.Season.DecFromDb(await credits.SumAsync(c => c.VatAmountValue)):N2} {sym}";
|
||||
DeductionSum.Text = $"{-v.Season.DecFromDb(await credits.SumAsync(c => c.ModifiersValue ?? 0)):N2} {sym}";
|
||||
PaymentSum.Text = $"{v.Season.DecFromDb(await credits.SumAsync(c => c.AmountValue)):N2} {sym}";
|
||||
}
|
||||
} else {
|
||||
ModifierSum.Text = "-";
|
||||
@ -187,8 +187,8 @@ namespace Elwig.Windows {
|
||||
}
|
||||
}
|
||||
|
||||
private void PaymentVariantList_SelectionChanged(object sender, SelectionChangedEventArgs evt) {
|
||||
Update();
|
||||
private async void PaymentVariantList_SelectionChanged(object sender, SelectionChangedEventArgs evt) {
|
||||
await Update();
|
||||
}
|
||||
|
||||
private async void AddButton_Click(object sender, RoutedEventArgs evt) {
|
||||
|
Reference in New Issue
Block a user