63 lines
2.2 KiB
C#
63 lines
2.2 KiB
C#
using Elwig.Dialogs;
|
|
using Elwig.Helpers;
|
|
using Elwig.Helpers.Billing;
|
|
using System.Threading.Tasks;
|
|
using System.Windows;
|
|
using System.Windows.Input;
|
|
|
|
namespace Elwig.Windows {
|
|
public partial class SeasonFinishWindow : ContextWindow {
|
|
public SeasonFinishWindow() {
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void Window_Loaded(object sender, RoutedEventArgs evt) {
|
|
SeasonInput.Value = Utils.CurrentLastSeason;
|
|
}
|
|
|
|
protected override async Task OnRenewContext() {
|
|
SeasonInput_ValueChanged(null, null);
|
|
}
|
|
|
|
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;
|
|
}
|
|
|
|
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();
|
|
await b.CalculateBins(
|
|
AllowAttrIntoLowerBinsInput.IsChecked ?? false,
|
|
AvoidUnderDeliveriesInput.IsChecked ?? false,
|
|
HonorGebundenInput.IsChecked ?? false);
|
|
Mouse.OverrideCursor = null;
|
|
CalculateBinsButton.IsEnabled = true;
|
|
}
|
|
|
|
private void DeliveryConfirmationButton_Click(object sender, RoutedEventArgs evt) {
|
|
if (SeasonInput.Value is not int year)
|
|
return;
|
|
var d = new DeliveryConfirmationsDialog(year);
|
|
d.Show();
|
|
}
|
|
|
|
private void OverUnderDeliveryButton_Click(object sender, RoutedEventArgs evt) {
|
|
}
|
|
|
|
private void PaymentButton_Click(object sender, RoutedEventArgs evt) {
|
|
var w = new ChartWindow();
|
|
w.Show();
|
|
}
|
|
}
|
|
}
|