diff --git a/Elwig/Windows/SeasonFinishWindow.xaml.cs b/Elwig/Windows/SeasonFinishWindow.xaml.cs index 89d7e48..10e79e4 100644 --- a/Elwig/Windows/SeasonFinishWindow.xaml.cs +++ b/Elwig/Windows/SeasonFinishWindow.xaml.cs @@ -18,13 +18,15 @@ namespace Elwig.Windows { } protected override async Task OnRenewContext() { - + SeasonInput_ValueChanged(null, null); } - private async void SeasonInput_ValueChanged(object sender, RoutedEventArgs evt) { - var s = await Context.Seasons.FindAsync(SeasonInput.Value); - var valid = (s != null); - CalculateBinsButton.IsEnabled = valid; + 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); + var valid = (s0 != null); + var last = (s1 == null); + CalculateBinsButton.IsEnabled = valid && last; DeliveryConfirmationButton.IsEnabled = valid; OverUnderDeliveryButton.IsEnabled = valid; } @@ -32,6 +34,7 @@ namespace Elwig.Windows { private async void CalculateBinsButton_Click(object sender, RoutedEventArgs evt) { if (SeasonInput.Value is not int year) return; + CalculateBinsButton.IsEnabled = false; Mouse.OverrideCursor = Cursors.AppStarting; var b = new Billing(year); await b.FinishSeason(); @@ -40,6 +43,7 @@ namespace Elwig.Windows { AvoidUnderDeliveriesInput.IsChecked ?? false, HonorGebundenInput.IsChecked ?? false); Mouse.OverrideCursor = null; + CalculateBinsButton.IsEnabled = true; } private async void DeliveryConfirmationButton_Click(object sender, RoutedEventArgs evt) {