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