From 170cfda37e1c30eec93f84f0d31e8f381383910e Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Thu, 8 Aug 2024 23:18:15 +0200 Subject: [PATCH] Windows: Minor cleanups --- Elwig/Windows/AreaComAdminWindow.xaml | 5 ++-- Elwig/Windows/AreaComAdminWindow.xaml.cs | 32 ++++++++++++++--------- Elwig/Windows/DeliveryAdminWindow.xaml | 2 +- Elwig/Windows/DeliveryAdminWindow.xaml.cs | 2 +- Elwig/Windows/MemberAdminWindow.xaml | 2 +- Elwig/Windows/MemberAdminWindow.xaml.cs | 12 +++++---- 6 files changed, 33 insertions(+), 22 deletions(-) diff --git a/Elwig/Windows/AreaComAdminWindow.xaml b/Elwig/Windows/AreaComAdminWindow.xaml index a0446be..6d19172 100644 --- a/Elwig/Windows/AreaComAdminWindow.xaml +++ b/Elwig/Windows/AreaComAdminWindow.xaml @@ -1,4 +1,5 @@ - - + diff --git a/Elwig/Windows/AreaComAdminWindow.xaml.cs b/Elwig/Windows/AreaComAdminWindow.xaml.cs index a5a856f..6a5ed22 100644 --- a/Elwig/Windows/AreaComAdminWindow.xaml.cs +++ b/Elwig/Windows/AreaComAdminWindow.xaml.cs @@ -117,7 +117,7 @@ namespace Elwig.Windows { FinishInputFilling(); } - private async void InitInputs() { + private async Task InitInputs() { ClearOriginalValues(); ClearDefaultValues(); await ViewModel.InitInputs(); @@ -159,14 +159,14 @@ namespace Elwig.Windows { NewAreaCommitmentButton_Click(null, null); } - private void NewAreaCommitmentButton_Click(object? sender, RoutedEventArgs? evt) { + private async void NewAreaCommitmentButton_Click(object? sender, RoutedEventArgs? evt) { IsCreating = true; AreaCommitmentList.IsEnabled = false; AreaCommitmentList.SelectedItem = null; HideAreaCommitmentNewEditDeleteButtons(); ShowAreaCommitmentSaveResetCancelButtons(); UnlockInputs(); - InitInputs(); + await InitInputs(); LockSearchInputs(); } @@ -197,17 +197,25 @@ namespace Elwig.Windows { } private async void DeleteAreaCommitmentButton_Click(object? sender, RoutedEventArgs? evt) { - AreaCom a = (AreaCom)AreaCommitmentList.SelectedItem; - if (a == null) return; - + if (AreaCommitmentList.SelectedItem is not AreaCom a) + return; var r = MessageBox.Show( $"Soll die Flächenbindung {a.GstNr} ({a.Area} m²) wirklich unwiderruflich gelöscht werden?", "Flächenbindung löschen", MessageBoxButton.OKCancel, MessageBoxImage.Warning, MessageBoxResult.Cancel); if (r == MessageBoxResult.OK) { - using var ctx = new AppDbContext(); - ctx.Remove(a); - await ctx.SaveChangesAsync(); - await RefreshList(); + Mouse.OverrideCursor = Cursors.AppStarting; + try { + using (var ctx = new AppDbContext()) { + ctx.Remove(a); + await ctx.SaveChangesAsync(); + } + await App.HintContextChange(); + } catch (Exception exc) { + var str = "Der Eintrag konnte nicht in der Datenbank aktualisiert werden!\n\n" + exc.Message; + if (exc.InnerException != null) str += "\n\n" + exc.InnerException.Message; + MessageBox.Show(str, "Flächenbindung löschen", MessageBoxButton.OK, MessageBoxImage.Error); + } + Mouse.OverrideCursor = null; } } @@ -246,11 +254,11 @@ namespace Elwig.Windows { AreaCommitmentResetButton_Click(null, null); } - private void AreaCommitmentResetButton_Click(object? sender, RoutedEventArgs? evt) { + private async void AreaCommitmentResetButton_Click(object? sender, RoutedEventArgs? evt) { if (IsEditing) { RefreshInputs(); } else if (IsCreating) { - InitInputs(); + await InitInputs(); } UpdateButtons(); } diff --git a/Elwig/Windows/DeliveryAdminWindow.xaml b/Elwig/Windows/DeliveryAdminWindow.xaml index 44f676e..df3e4fc 100644 --- a/Elwig/Windows/DeliveryAdminWindow.xaml +++ b/Elwig/Windows/DeliveryAdminWindow.xaml @@ -605,7 +605,7 @@ - + diff --git a/Elwig/Windows/DeliveryAdminWindow.xaml.cs b/Elwig/Windows/DeliveryAdminWindow.xaml.cs index 1d4a212..7d106c3 100644 --- a/Elwig/Windows/DeliveryAdminWindow.xaml.cs +++ b/Elwig/Windows/DeliveryAdminWindow.xaml.cs @@ -1243,7 +1243,7 @@ namespace Elwig.Windows { private void WineVarietyInput_SelectionChanged(object sender, SelectionChangedEventArgs evt) { if (WineVarietyInput.SelectedItem is WineVar s) - ViewModel.SortId = s.SortId; + ViewModel.SortId = s.SortId; } private void UpdateWineQualityLevels() { diff --git a/Elwig/Windows/MemberAdminWindow.xaml b/Elwig/Windows/MemberAdminWindow.xaml index 488635a..6b9f260 100644 --- a/Elwig/Windows/MemberAdminWindow.xaml +++ b/Elwig/Windows/MemberAdminWindow.xaml @@ -637,7 +637,7 @@ - + diff --git a/Elwig/Windows/MemberAdminWindow.xaml.cs b/Elwig/Windows/MemberAdminWindow.xaml.cs index b817019..df156ca 100644 --- a/Elwig/Windows/MemberAdminWindow.xaml.cs +++ b/Elwig/Windows/MemberAdminWindow.xaml.cs @@ -131,7 +131,8 @@ namespace Elwig.Windows { .ToDictionary(m => m, m => m.SearchScore(filter)) .OrderByDescending(a => a.Value) .ThenBy(a => a.Key.FamilyName) - .ThenBy(a => a.Key.GivenName); + .ThenBy(a => a.Key.GivenName) + .ThenBy(a => a.Key.MgNr); var threshold = dict.Select(a => a.Value).Max() * 3 / 4; members = dict .Where(a => a.Value > threshold) @@ -141,6 +142,7 @@ namespace Elwig.Windows { members = members .OrderBy(m => m.FamilyName) .ThenBy(m => m.GivenName) + .ThenBy(m => m.MgNr) .ToList(); } @@ -167,7 +169,7 @@ namespace Elwig.Windows { GC.Collect(); } - private async void InitInputs() { + private async Task InitInputs() { ClearOriginalValues(); ClearDefaultValues(); await ViewModel.InitInputs(); @@ -301,7 +303,7 @@ namespace Elwig.Windows { NewMemberButton_Click(null, null); } - private void NewMemberButton_Click(object? sender, RoutedEventArgs? evt) { + private async void NewMemberButton_Click(object? sender, RoutedEventArgs? evt) { IsCreating = true; MemberList.IsEnabled = false; ViewModel.SelectedMember = null; @@ -311,7 +313,7 @@ namespace Elwig.Windows { ShowSaveResetCancelButtons(); UnlockInputs(); UpdateContactInfoVisibility(true); - InitInputs(); + await InitInputs(); ViewModel.EnableSearchInputs = false; } @@ -425,7 +427,7 @@ namespace Elwig.Windows { await RefreshInputs(); } else if (IsCreating) { ClearInputs(); - InitInputs(); + await InitInputs(); } UpdateButtons(); }