From 62fe0875985d3be9986f0f994a7cff3914d7d126 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Wed, 13 Sep 2023 22:57:21 +0200 Subject: [PATCH] =?UTF-8?q?DeliveryAdminWindow:=20Hopefully=20fix=20'Erste?= =?UTF-8?q?=20=C3=9Cbernahme'=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Elwig/Windows/DeliveryAdminWindow.xaml.cs | 10 ++++++---- Elwig/Windows/MemberAdminWindow.xaml.cs | 3 ++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Elwig/Windows/DeliveryAdminWindow.xaml.cs b/Elwig/Windows/DeliveryAdminWindow.xaml.cs index f61353c..0b96781 100644 --- a/Elwig/Windows/DeliveryAdminWindow.xaml.cs +++ b/Elwig/Windows/DeliveryAdminWindow.xaml.cs @@ -91,13 +91,13 @@ namespace Elwig.Windows { AllSeasonsInput.IsChecked = true; } - private async void Window_Loaded(object sender, RoutedEventArgs evt) { + private void Window_Loaded(object sender, RoutedEventArgs evt) { OnSecondPassed(null, null); Timer.Start(); LockInputs(); if (IsReceipt) { NewDeliveryButton_Click(null, null); - if ((await Context.Seasons.FindAsync(Utils.CurrentYear)) == null) { + if ((Context.Seasons.Find(Utils.CurrentYear)) == null) { MessageBox.Show("Die Saison für das aktuelle Jahr wurde noch nicht erstellt. Neue Lieferungen können nicht abgespeichert werden.", "Saison noch nicht erstellt", MessageBoxButton.OK, MessageBoxImage.Error); } @@ -226,6 +226,7 @@ namespace Elwig.Windows { double filterOeLt = 0; var filter = TextFilter.ToList(); + var hasFilters = filter.Count > 0; if (filter.Count > 0) { var var = await Context.WineVarieties.Select(v => v.SortId).ToListAsync(); var qual = await Context.WineQualityLevels.Select(q => q.QualId).ToListAsync(); @@ -331,7 +332,8 @@ namespace Elwig.Windows { .ToList(); } - ControlUtils.RenewItemsSource(DeliveryList, deliveries, d => ((d as Delivery)?.Year, (d as Delivery)?.DId), DeliveryList_SelectionChanged, IsCreating ? ControlUtils.RenewSourceDefault.None : ControlUtils.RenewSourceDefault.IfOnly, !updateSort); + ControlUtils.RenewItemsSource(DeliveryList, deliveries, d => ((d as Delivery)?.Year, (d as Delivery)?.DId), + DeliveryList_SelectionChanged, hasFilters ? ControlUtils.RenewSourceDefault.IfOnly : ControlUtils.RenewSourceDefault.None, !updateSort); var members = deliveries.Select(d => d.Member).DistinctBy(m => m.MgNr).ToList(); StatusMembers.Text = $"Mitglieder: {members.Count}" + (members.Count > 0 && members.Count <= 4 ? $" ({string.Join(", ", members.Select(m => m.AdministrativeName))})" : ""); @@ -423,7 +425,6 @@ namespace Elwig.Windows { Menu_Export_Bki.Items.Add(i); } - // FIXME on "only one" delivery, RenewContext doees not work await RefreshDeliveryList(); var d = DeliveryList.SelectedItem as Delivery; var y = d?.Year ?? Utils.CurrentLastSeason; @@ -441,6 +442,7 @@ namespace Elwig.Windows { if (IsCreating) await UpdateLsNr(); await RefreshDeliveryParts(); + RefreshInputs(); } private void FocusSearchInput(object sender, RoutedEventArgs evt) { diff --git a/Elwig/Windows/MemberAdminWindow.xaml.cs b/Elwig/Windows/MemberAdminWindow.xaml.cs index 2bf7b50..c6ee4cd 100644 --- a/Elwig/Windows/MemberAdminWindow.xaml.cs +++ b/Elwig/Windows/MemberAdminWindow.xaml.cs @@ -89,7 +89,8 @@ namespace Elwig.Windows { .ToList(); } - ControlUtils.RenewItemsSource(MemberList, members, i => (i as Member)?.MgNr, MemberList_SelectionChanged, ControlUtils.RenewSourceDefault.IfOnly, !updateSort); + ControlUtils.RenewItemsSource(MemberList, members, i => (i as Member)?.MgNr, + MemberList_SelectionChanged, TextFilter.Count > 0 ? ControlUtils.RenewSourceDefault.IfOnly : ControlUtils.RenewSourceDefault.None, !updateSort); } private void RefreshInputs(bool validate = false) {