SeasonFinishWindow: enhnace button handling
This commit is contained in:
@ -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) {
|
||||||
|
Reference in New Issue
Block a user