From cc018ded102ba31323783d470243c61bfd753ebf Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Mon, 16 Mar 2026 22:58:04 +0100 Subject: [PATCH] ContextWindow: Use EnsureContextRenewed() correctly --- Elwig/Windows/AreaComAdminWindow.xaml.cs | 3 +-- Elwig/Windows/ContextWindow.cs | 6 +++--- Elwig/Windows/DeliveryAdminWindow.xaml.cs | 16 +++++----------- Elwig/Windows/DeliveryAncmtAdminWindow.xaml.cs | 3 +-- .../Windows/DeliveryScheduleAdminWindow.xaml.cs | 3 +-- Elwig/Windows/MemberAdminWindow.xaml.cs | 3 +-- 6 files changed, 12 insertions(+), 22 deletions(-) diff --git a/Elwig/Windows/AreaComAdminWindow.xaml.cs b/Elwig/Windows/AreaComAdminWindow.xaml.cs index ac7bd58..8c2d16d 100644 --- a/Elwig/Windows/AreaComAdminWindow.xaml.cs +++ b/Elwig/Windows/AreaComAdminWindow.xaml.cs @@ -287,8 +287,7 @@ namespace Elwig.Windows { LockInputs(); UnlockSearchInputs(); FinishInputFilling(); - await RefreshList(); - RefreshInputs(); + await EnsureContextRenewed(); Mouse.OverrideCursor = null; ViewModel.SearchQuery = ""; ControlUtils.SelectItem(AreaCommitmentList, AreaCommitmentList.ItemsSource.Cast().Where(a => a.FbNr == fbnr).FirstOrDefault()); diff --git a/Elwig/Windows/ContextWindow.cs b/Elwig/Windows/ContextWindow.cs index aa81549..4715698 100644 --- a/Elwig/Windows/ContextWindow.cs +++ b/Elwig/Windows/ContextWindow.cs @@ -13,7 +13,7 @@ namespace Elwig.Windows { set { _lockContext = value; if (!_lockContext && _renewPending) { - Dispatcher.BeginInvoke(async () => await RenewContext()); + Dispatcher.BeginInvoke(async () => await EnsureContextRenewed()); } } } @@ -36,7 +36,7 @@ namespace Elwig.Windows { public async Task HintContextChange() { _renewPending = true; if (LockContext) return; - await RenewContext(); + await EnsureContextRenewed(); } protected async void OnLoaded(object? sender, RoutedEventArgs? evt) { @@ -44,7 +44,7 @@ namespace Elwig.Windows { await OnRenewContext(ctx); } - protected async Task RenewContext() { + protected async Task EnsureContextRenewed() { if (!_renewPending) return; using var ctx = new AppDbContext(); await OnRenewContext(ctx); diff --git a/Elwig/Windows/DeliveryAdminWindow.xaml.cs b/Elwig/Windows/DeliveryAdminWindow.xaml.cs index 98fc474..cc6b6ce 100644 --- a/Elwig/Windows/DeliveryAdminWindow.xaml.cs +++ b/Elwig/Windows/DeliveryAdminWindow.xaml.cs @@ -812,13 +812,11 @@ namespace Elwig.Windows { } EmptyScale(); - await RefreshList(); - await RefreshDeliveryParts(); + await EnsureContextRenewed(); Mouse.OverrideCursor = null; ControlUtils.SelectItem(DeliveryList, p?.Delivery); DeliveryPartList.SelectedItem = null; DeliveryPartList.ScrollIntoView(DeliveryPartList.ItemsSource.Cast().Last()); - RefreshInputs(); InitialInputs(); } @@ -851,8 +849,7 @@ namespace Elwig.Windows { } EmptyScale(); - await RefreshList(); - await RefreshDeliveryParts(); + await EnsureContextRenewed(); if (p?.Delivery != null) { try { using var ctx = new AppDbContext(); @@ -870,8 +867,7 @@ namespace Elwig.Windows { Mouse.OverrideCursor = null; DeliveryList.SelectedItem = null; - await RenewContext(); - RefreshInputs(); + await EnsureContextRenewed(); InitInputs(); } @@ -902,7 +898,7 @@ namespace Elwig.Windows { DisableWeighingButtons(); HideFinishNewPartDeliveryCancelButtons(); ShowNewEditDeleteButtons(); - await RenewContext(); + await EnsureContextRenewed(); RefreshInputs(); ClearInputStates(); LockInputs(); @@ -1082,9 +1078,7 @@ namespace Elwig.Windows { LockInputs(); UnlockSearchInputs(); FinishInputFilling(); - await RefreshList(); - await RefreshDeliveryParts(); - RefreshInputs(); + await EnsureContextRenewed(); Mouse.OverrideCursor = null; DepreciateButton.IsEnabled = true; diff --git a/Elwig/Windows/DeliveryAncmtAdminWindow.xaml.cs b/Elwig/Windows/DeliveryAncmtAdminWindow.xaml.cs index 07487db..af4f835 100644 --- a/Elwig/Windows/DeliveryAncmtAdminWindow.xaml.cs +++ b/Elwig/Windows/DeliveryAncmtAdminWindow.xaml.cs @@ -374,8 +374,7 @@ namespace Elwig.Windows { LockInputs(); ViewModel.EnableSearchInputs = true; FinishInputFilling(); - await RefreshList(); - RefreshInputs(); + await EnsureContextRenewed(); ViewModel.SearchQuery = ""; ControlUtils.SelectItemWithPk(DeliveryScheduleList, year, dsnr); if (sortid != null) diff --git a/Elwig/Windows/DeliveryScheduleAdminWindow.xaml.cs b/Elwig/Windows/DeliveryScheduleAdminWindow.xaml.cs index 96e688c..73eca89 100644 --- a/Elwig/Windows/DeliveryScheduleAdminWindow.xaml.cs +++ b/Elwig/Windows/DeliveryScheduleAdminWindow.xaml.cs @@ -225,8 +225,7 @@ namespace Elwig.Windows { LockInputs(); ViewModel.EnableSearchInputs = true; FinishInputFilling(); - await RefreshList(); - RefreshInputs(); + await EnsureContextRenewed(); ViewModel.SearchQuery = ""; } diff --git a/Elwig/Windows/MemberAdminWindow.xaml.cs b/Elwig/Windows/MemberAdminWindow.xaml.cs index 5eb147b..fa6d4a1 100644 --- a/Elwig/Windows/MemberAdminWindow.xaml.cs +++ b/Elwig/Windows/MemberAdminWindow.xaml.cs @@ -436,8 +436,7 @@ namespace Elwig.Windows { UpdateContactInfoVisibility(); ViewModel.EnableSearchInputs = true; FinishInputFilling(); - await RefreshList(); - RefreshInputs(); + await EnsureContextRenewed(); ViewModel.SearchQuery = ""; Mouse.OverrideCursor = null; if (mgnr is int m)