From 3419113dec15c5539095b2b53614bc62b3d09fab Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Sat, 13 Dec 2025 00:25:59 +0100 Subject: [PATCH] DeliveryAdminWindow: Restrict handling of modifiers to specific clients --- Elwig/Windows/DeliveryAdminWindow.xaml.cs | 73 +++++++++++------------ 1 file changed, 36 insertions(+), 37 deletions(-) diff --git a/Elwig/Windows/DeliveryAdminWindow.xaml.cs b/Elwig/Windows/DeliveryAdminWindow.xaml.cs index b39e5bf..5f60fc5 100644 --- a/Elwig/Windows/DeliveryAdminWindow.xaml.cs +++ b/Elwig/Windows/DeliveryAdminWindow.xaml.cs @@ -1330,68 +1330,67 @@ namespace Elwig.Windows { private void ModifiersInput_SelectionChanged(object sender, SelectionChangedEventArgs evt) { if (!IsEditing && !IsCreating) return; - var mod = ModifiersInput.SelectedItems.Cast().ToList(); - var source = ModifiersInput.ItemsSource.Cast().ToList(); + var mod = ViewModel.Modifiers.ToList(); + var source = ViewModel.ModifiersSource.ToList(); if (App.Client.IsMatzen) { var kl = mod.Where(m => m.Name.StartsWith("Klasse ")); if (kl.Count() > 1) { App.MainDispatcher.BeginInvoke(() => { foreach (var r in kl.Take(kl.Count() - 1)) - ModifiersInput.SelectedItems.Remove(r); + ViewModel.Modifiers.Remove(r); }); } - } - - if (source.Any(m => m.Name.Contains("Lesewagen"))) { - if (mod.Any(m => m.Name.Contains("Lesewagen"))) { - ViewModel.IsUnloadingPumped = true; - } else { - ViewModel.IsUnloadingPumped = false; + } else if (App.Client.IsWinzerkeller) { + if (source.Any(m => m.Name.Contains("Lesewagen"))) { + if (mod.Any(m => m.Name.Contains("Lesewagen"))) { + ViewModel.IsUnloadingPumped = true; + } else { + ViewModel.IsUnloadingPumped = false; + } } - } - if (source.Any(m => m.Name.Contains("Kiste"))) { - if (mod.Any(m => m.Name.Contains("Kiste"))) { - ViewModel.IsUnloadingBox = true; - } else { - ViewModel.IsUnloadingBox = false; + } else if (App.Client.IsBaden) { + if (source.Any(m => m.Name.Contains("Kiste"))) { + if (mod.Any(m => m.Name.Contains("Kiste"))) { + ViewModel.IsUnloadingBox = true; + } else { + ViewModel.IsUnloadingBox = false; + } } } } private void UnloadingInput_Checked(object sender, RoutedEventArgs evt) { if (!IsEditing && !IsCreating) return; - var mod = ModifiersInput.SelectedItems.Cast().ToList(); - var source = ModifiersInput.ItemsSource.Cast().ToList(); + var mod = ViewModel.Modifiers.ToList(); + var source = ViewModel.ModifiersSource.ToList(); if (App.Client.IsMatzen) { var kl = mod.Where(m => m.Name.StartsWith("Klasse ")).Select(m => m.ModId).LastOrDefault("_")[0]; if (ViewModel.IsUnloadingPumped && (kl == 'A' || kl == '_')) { kl = 'B'; - } else if (kl == 'B' && !ViewModel.IsUnloadingPumped) { - kl = 'A'; - } else if (ViewModel.IsUnloadingDumper && (kl == 'B' || kl == '_')) { + } else if (ViewModel.IsUnloadingDumper && kl == '_') { kl = 'A'; } else { kl = '_'; } var newKl = source.FirstOrDefault(m => m?.ModId == kl.ToString(), null); - if (newKl != null) ModifiersInput.SelectedItems.Add(newKl); - } - - if (source.Any(m => m.Name.Contains("Lesewagen"))) { - if (ViewModel.IsUnloadingPumped && !mod.Any(m => m.Name.Contains("Lesewagen"))) { - ModifiersInput.SelectedItems.Add(source.First(m => m.Name.Contains("Lesewagen"))); - } else if (!ViewModel.IsUnloadingPumped && mod.Any(m => m.Name.Contains("Lesewagen"))) { - ModifiersInput.SelectedItems.Remove(mod.First(m => m.Name.Contains("Lesewagen"))); + if (newKl != null) ViewModel.Modifiers.Add(newKl); + } else if (App.Client.IsWinzerkeller) { + if (source.Any(m => m.Name.Contains("Lesewagen"))) { + if (ViewModel.IsUnloadingPumped && !mod.Any(m => m.Name.Contains("Lesewagen"))) { + ViewModel.Modifiers.Add(source.First(m => m.Name.Contains("Lesewagen"))); + } else if (!ViewModel.IsUnloadingPumped && mod.Any(m => m.Name.Contains("Lesewagen"))) { + ViewModel.Modifiers.Remove(mod.First(m => m.Name.Contains("Lesewagen"))); + } + } + } else if (App.Client.IsBaden) { + if (source.Any(m => m.Name.Contains("Kiste"))) { + if (ViewModel.IsUnloadingBox && !mod.Any(m => m.Name.Contains("Kiste"))) { + ViewModel.Modifiers.Add(source.First(m => m.Name.Contains("Kiste"))); + } else if (!ViewModel.IsUnloadingBox && mod.Any(m => m.Name.Contains("Kiste"))) { + ViewModel.Modifiers.Remove(mod.First(m => m.Name.Contains("Kiste"))); + } } } - if (source.Any(m => m.Name.Contains("Kiste"))) { - if (ViewModel.IsUnloadingBox && !mod.Any(m => m.Name.Contains("Kiste"))) { - ModifiersInput.SelectedItems.Add(source.First(m => m.Name.Contains("Kiste"))); - } else if (!ViewModel.IsUnloadingBox && mod.Any(m => m.Name.Contains("Kiste"))) { - ModifiersInput.SelectedItems.Remove(mod.First(m => m.Name.Contains("Kiste"))); - } - } - RadioButton_Changed(sender, evt); }