SeasonFinishWindow: enhnace button handling

This commit is contained in:
2023-10-16 22:53:04 +02:00
parent 505ee0ad24
commit 3b3489b492

View File

@ -18,13 +18,15 @@ namespace Elwig.Windows {
} }
protected override async Task OnRenewContext() { protected override async Task OnRenewContext() {
SeasonInput_ValueChanged(null, null);
} }
private async void SeasonInput_ValueChanged(object sender, RoutedEventArgs evt) { private async void SeasonInput_ValueChanged(object? sender, RoutedEventArgs? evt) {
var s = await Context.Seasons.FindAsync(SeasonInput.Value); var s0 = await Context.Seasons.FindAsync(SeasonInput.Value);
var valid = (s != null); var s1 = await Context.Seasons.FindAsync(SeasonInput.Value + 1);
CalculateBinsButton.IsEnabled = valid; var valid = (s0 != null);
var last = (s1 == null);
CalculateBinsButton.IsEnabled = valid && last;
DeliveryConfirmationButton.IsEnabled = valid; DeliveryConfirmationButton.IsEnabled = valid;
OverUnderDeliveryButton.IsEnabled = valid; OverUnderDeliveryButton.IsEnabled = valid;
} }
@ -32,6 +34,7 @@ namespace Elwig.Windows {
private async void CalculateBinsButton_Click(object sender, RoutedEventArgs evt) { private async void CalculateBinsButton_Click(object sender, RoutedEventArgs evt) {
if (SeasonInput.Value is not int year) if (SeasonInput.Value is not int year)
return; return;
CalculateBinsButton.IsEnabled = false;
Mouse.OverrideCursor = Cursors.AppStarting; Mouse.OverrideCursor = Cursors.AppStarting;
var b = new Billing(year); var b = new Billing(year);
await b.FinishSeason(); await b.FinishSeason();
@ -40,6 +43,7 @@ namespace Elwig.Windows {
AvoidUnderDeliveriesInput.IsChecked ?? false, AvoidUnderDeliveriesInput.IsChecked ?? false,
HonorGebundenInput.IsChecked ?? false); HonorGebundenInput.IsChecked ?? false);
Mouse.OverrideCursor = null; Mouse.OverrideCursor = null;
CalculateBinsButton.IsEnabled = true;
} }
private async void DeliveryConfirmationButton_Click(object sender, RoutedEventArgs evt) { private async void DeliveryConfirmationButton_Click(object sender, RoutedEventArgs evt) {