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() {
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) {