From e2e46bc52a56f20f89ef15c61ee2f49bea327000 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Fri, 15 Mar 2024 14:26:21 +0100 Subject: [PATCH] [#43] SeasonFinishWindow: Do not use Context from ContextWindow any more --- Elwig/Windows/SeasonFinishWindow.xaml.cs | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/Elwig/Windows/SeasonFinishWindow.xaml.cs b/Elwig/Windows/SeasonFinishWindow.xaml.cs index 050ac18..34c5f91 100644 --- a/Elwig/Windows/SeasonFinishWindow.xaml.cs +++ b/Elwig/Windows/SeasonFinishWindow.xaml.cs @@ -24,8 +24,9 @@ namespace Elwig.Windows { } private async void SeasonInput_ValueChanged(object? sender, RoutedEventArgs? evt) { - var s0 = await Context.Seasons.FindAsync(SeasonInput.Value); - var s1 = await Context.Seasons.FindAsync(SeasonInput.Value + 1); + using var ctx = new AppDbContext(); + var s0 = await ctx.Seasons.FindAsync(SeasonInput.Value); + var s1 = await ctx.Seasons.FindAsync(SeasonInput.Value + 1); var valid = (s0 != null); var last = (s1 == null); CalculateBucketsButton.IsEnabled = valid && last; @@ -42,22 +43,28 @@ namespace Elwig.Windows { } private async void CalculateBucketsButton_Click(object sender, RoutedEventArgs evt) { - if (SeasonInput.Value is not int year || await Context.Seasons.FindAsync(year) is not Season s) + if (SeasonInput.Value is not int year) return; CalculateBucketsButton.IsEnabled = false; Mouse.OverrideCursor = Cursors.AppStarting; try { + using var ctx = new AppDbContext(); + if (await ctx.Seasons.FindAsync(year) is not Season s) + return; + s.Billing_AllowAttrsIntoLower = AllowAttrIntoLowerInput.IsChecked ?? false; s.Billing_AvoidUnderDeliveries = AvoidUnderDeliveriesInput.IsChecked ?? false; s.Billing_HonorGebunden = HonorGebundenInput.IsChecked ?? false; - Context.Update(s); - await Context.SaveChangesAsync(); + ctx.Update(s); + await ctx.SaveChangesAsync(); } catch { } var b = new Billing(year); await b.FinishSeason(); await b.CalculateBuckets(); + await App.HintContextChange(); + Mouse.OverrideCursor = null; CalculateBucketsButton.IsEnabled = true; } @@ -83,9 +90,10 @@ namespace Elwig.Windows { Mouse.OverrideCursor = Cursors.AppStarting; try { - var tbl1 = await OverUnderDeliveryData.ForSeason(Context.OverUnderDeliveryRows, year); - var tbl2 = await AreaComUnderDeliveryData.ForSeason(Context.AreaComUnderDeliveryRows, year); - var tbl3 = await MemberDeliveryPerVariantData.ForSeason(Context.MemberDeliveryPerVariantRows, year); + using var ctx = new AppDbContext(); + var tbl1 = await OverUnderDeliveryData.ForSeason(ctx.OverUnderDeliveryRows, year); + var tbl2 = await AreaComUnderDeliveryData.ForSeason(ctx.AreaComUnderDeliveryRows, year); + var tbl3 = await MemberDeliveryPerVariantData.ForSeason(ctx.MemberDeliveryPerVariantRows, year); using var ods = new OdsFile(d.FileName); await ods.AddTable(tbl1); await ods.AddTable(tbl2);