From f95f0f0ef384e7fdaa0f057a51cc7e9e12db4019 Mon Sep 17 00:00:00 2001
From: Lorenz Stechauner <lorenz.stechauner@necronda.net>
Date: Sun, 12 May 2024 22:34:53 +0200
Subject: [PATCH] BaseDataWindow: Fix crash when CurrentLastSeason does not
 exist

---
 Elwig/Windows/BaseDataWindow.xaml.cs | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/Elwig/Windows/BaseDataWindow.xaml.cs b/Elwig/Windows/BaseDataWindow.xaml.cs
index 267a836..7487a86 100644
--- a/Elwig/Windows/BaseDataWindow.xaml.cs
+++ b/Elwig/Windows/BaseDataWindow.xaml.cs
@@ -148,7 +148,7 @@ namespace Elwig.Windows {
 
         protected override async Task OnRenewContext(AppDbContext ctx) {
             await base.OnRenewContext(ctx);
-            FillInputs(App.Client, (await ctx.Seasons.FindAsync(Utils.CurrentLastSeason))!);
+            FillInputs(App.Client, await ctx.Seasons.FindAsync(Utils.CurrentLastSeason));
             ControlUtils.RenewItemsSource(SeasonList, await ctx.Seasons
                 .OrderByDescending(s => s.Year)
                 .Include(s => s.Modifiers)
@@ -274,7 +274,7 @@ namespace Elwig.Windows {
 
             using var ctx = new AppDbContext();
             ClearInputStates();
-            FillInputs(App.Client, (await ctx.Seasons.FindAsync(Utils.CurrentLastSeason))!);
+            FillInputs(App.Client, await ctx.Seasons.FindAsync(Utils.CurrentLastSeason));
             LockInputs();
         }
 
@@ -294,7 +294,7 @@ namespace Elwig.Windows {
 
             using var ctx = new AppDbContext();
             ClearInputStates();
-            FillInputs(App.Client, (await ctx.Seasons.FindAsync(Utils.CurrentLastSeason))!);
+            FillInputs(App.Client, await ctx.Seasons.FindAsync(Utils.CurrentLastSeason));
             UpdateButtons();
         }
 
@@ -325,14 +325,14 @@ namespace Elwig.Windows {
 
             using (var ctx = new AppDbContext()) {
                 ClearInputStates();
-                FillInputs(App.Client, (await ctx.Seasons.FindAsync(Utils.CurrentLastSeason))!);
+                FillInputs(App.Client, await ctx.Seasons.FindAsync(Utils.CurrentLastSeason));
                 LockInputs();
             }
 
             await HintContextChange();
         }
 
-        private void FillInputs(ClientParameters p, Season s) {
+        private void FillInputs(ClientParameters p, Season? s) {
             ClearOriginalValues();
             ClearDefaultValues();
 
@@ -363,9 +363,9 @@ namespace Elwig.Windows {
             TextElementDeliveryConfirmation.Text = p.TextDeliveryConfirmation;
             TextElementCreditNote.Text = p.TextCreditNote;
 
-            ParameterAllowAttrIntoLowerInput.IsChecked = s.Billing_AllowAttrsIntoLower;
-            ParameterAvoidUnderDeliveriesInput.IsChecked = s.Billing_AvoidUnderDeliveries;
-            ParameterHonorGebundenInput.IsChecked = s.Billing_HonorGebunden;
+            ParameterAllowAttrIntoLowerInput.IsChecked = s?.Billing_AllowAttrsIntoLower ?? false;
+            ParameterAvoidUnderDeliveriesInput.IsChecked = s?.Billing_AvoidUnderDeliveries ?? false;
+            ParameterHonorGebundenInput.IsChecked = s?.Billing_HonorGebunden ?? false;
 
             FinishInputFilling();
         }