From a9f38a3ccba9f1acec6c3ee98ee8c34b365cbfb7 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Sun, 31 Mar 2024 17:11:10 +0200 Subject: [PATCH] Windows: Remove SeasonFinishWindow and TestWindow --- Elwig/App.xaml.cs | 4 - Elwig/Windows/BaseDataWindow.xaml | 17 ++- Elwig/Windows/BaseDataWindow.xaml.cs | 24 ++++ Elwig/Windows/MailWindow.xaml.cs | 15 ++- Elwig/Windows/MainWindow.xaml | 40 ++++++- Elwig/Windows/MainWindow.xaml.cs | 125 ++++++++++++++++++--- Elwig/Windows/MemberAdminWindow.xaml.cs | 6 + Elwig/Windows/SeasonFinishWindow.xaml | 54 --------- Elwig/Windows/SeasonFinishWindow.xaml.cs | 135 ----------------------- Elwig/Windows/TestWindow.xaml | 22 ---- Elwig/Windows/TestWindow.xaml.cs | 57 ---------- 11 files changed, 205 insertions(+), 294 deletions(-) delete mode 100644 Elwig/Windows/SeasonFinishWindow.xaml delete mode 100644 Elwig/Windows/SeasonFinishWindow.xaml.cs delete mode 100644 Elwig/Windows/TestWindow.xaml delete mode 100644 Elwig/Windows/TestWindow.xaml.cs diff --git a/Elwig/App.xaml.cs b/Elwig/App.xaml.cs index 6817f69..c593abe 100644 --- a/Elwig/App.xaml.cs +++ b/Elwig/App.xaml.cs @@ -273,10 +273,6 @@ namespace Elwig { return w; } - public static SeasonFinishWindow FocusSeasonFinish() { - return FocusWindow(() => new()); - } - public static OriginHierarchyWindow FocusOriginHierarchy() { return FocusWindow(() => new()); } diff --git a/Elwig/Windows/BaseDataWindow.xaml b/Elwig/Windows/BaseDataWindow.xaml index e60f0d3..9a65199 100644 --- a/Elwig/Windows/BaseDataWindow.xaml +++ b/Elwig/Windows/BaseDataWindow.xaml @@ -505,7 +505,22 @@ - + + + + + + + Bei Lieferungen das Feld Gebunden berücksichtigen + + + + diff --git a/Elwig/Windows/BaseDataWindow.xaml.cs b/Elwig/Windows/BaseDataWindow.xaml.cs index 19d9698..81f9faf 100644 --- a/Elwig/Windows/BaseDataWindow.xaml.cs +++ b/Elwig/Windows/BaseDataWindow.xaml.cs @@ -35,6 +35,7 @@ namespace Elwig.Windows { ]; WineAttributeFillLowerInput.Visibility = Visibility.Hidden; WineAttributeFillLowerLabel.Visibility = Visibility.Hidden; + ParameterAreaComGroup.Header = ParameterAreaComGroup.Header.ToString()!.Split('(')[0] + $"({Utils.CurrentLastSeason})"; } protected override void ShortcutNew() { } @@ -85,6 +86,10 @@ namespace Elwig.Windows { SeasonModifierNameInput.IsReadOnly = true; SeasonModifierRelInput.TextBox.IsReadOnly = true; SeasonModifierAbsInput.TextBox.IsReadOnly = true; + + ParameterAllowAttrIntoLowerInput.IsEnabled = false; + ParameterAvoidUnderDeliveriesInput.IsEnabled = false; + ParameterHonorGebundenInput.IsEnabled = false; } new protected void UnlockInputs() { @@ -131,6 +136,10 @@ namespace Elwig.Windows { SeasonModifierNameInput.IsReadOnly = false; SeasonModifierRelInput.TextBox.IsReadOnly = false; SeasonModifierAbsInput.TextBox.IsReadOnly = false; + + ParameterAllowAttrIntoLowerInput.IsEnabled = true; + ParameterAvoidUnderDeliveriesInput.IsEnabled = true; + ParameterHonorGebundenInput.IsEnabled = true; } private void Window_Loaded(object sender, RoutedEventArgs evt) { @@ -211,6 +220,7 @@ namespace Elwig.Windows { private async Task Save() { await UpdateClientParameters(App.Client); + await UpdateParameters(Utils.CurrentLastSeason); using var tx = await EditContext!.Database.BeginTransactionAsync(); await BranchesSave(EditContext!); await WineAttributesSave(EditContext!); @@ -383,5 +393,19 @@ namespace Elwig.Windows { ClientNameFull.Text = $"{ClientNameInput.Text}{(suffix != null ? $", {suffix}," : "")} {ClientNameTypeInput.Text}"; TextBox_TextChanged(sender, evt); } + + private async Task UpdateParameters(int year) { + try { + using var ctx = new AppDbContext(); + if (await ctx.Seasons.FindAsync(year) is not Season s) + return; + + s.Billing_AllowAttrsIntoLower = ParameterAllowAttrIntoLowerInput.IsChecked ?? false; + s.Billing_AvoidUnderDeliveries = ParameterAvoidUnderDeliveriesInput.IsChecked ?? false; + s.Billing_HonorGebunden = ParameterHonorGebundenInput.IsChecked ?? false; + ctx.Update(s); + await ctx.SaveChangesAsync(); + } catch { } + } } } diff --git a/Elwig/Windows/MailWindow.xaml.cs b/Elwig/Windows/MailWindow.xaml.cs index c56b896..481cece 100644 --- a/Elwig/Windows/MailWindow.xaml.cs +++ b/Elwig/Windows/MailWindow.xaml.cs @@ -449,7 +449,20 @@ namespace Elwig.Windows { if (doc.Type == DocType.DeliveryConfirmation) { var details = ((int, bool))doc.Details!; var year = details.Item1; - dcData[year] = await DeliveryConfirmationDeliveryData.ForSeason(ctx.DeliveryParts, year); + + try { + var b = new Billing(year); + await b.FinishSeason(); + await b.CalculateBuckets(); + await App.HintContextChange(); + + dcData[year] = await DeliveryConfirmationDeliveryData.ForSeason(ctx.DeliveryParts, year); + } catch (Exception exc) { + MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); + GenerateButton.IsEnabled = true; + Mouse.OverrideCursor = null; + return; + } } else if (doc.Type == DocType.CreditNote) { var details = ((int, int))doc.Details!; var year = details.Item1; diff --git a/Elwig/Windows/MainWindow.xaml b/Elwig/Windows/MainWindow.xaml index fb6b3cc..2e8ebee 100644 --- a/Elwig/Windows/MainWindow.xaml +++ b/Elwig/Windows/MainWindow.xaml @@ -1,6 +1,9 @@ - @@ -17,13 +20,13 @@ - + - + @@ -56,7 +59,34 @@ Margin="210,220,0,0"/>