DeliveryAdminWindow: Restrict handling of modifiers to specific clients
All checks were successful
Test / Run tests (push) Successful in 2m19s
All checks were successful
Test / Run tests (push) Successful in 2m19s
This commit is contained in:
@@ -1330,68 +1330,67 @@ namespace Elwig.Windows {
|
|||||||
|
|
||||||
private void ModifiersInput_SelectionChanged(object sender, SelectionChangedEventArgs evt) {
|
private void ModifiersInput_SelectionChanged(object sender, SelectionChangedEventArgs evt) {
|
||||||
if (!IsEditing && !IsCreating) return;
|
if (!IsEditing && !IsCreating) return;
|
||||||
var mod = ModifiersInput.SelectedItems.Cast<Modifier>().ToList();
|
var mod = ViewModel.Modifiers.ToList();
|
||||||
var source = ModifiersInput.ItemsSource.Cast<Modifier>().ToList();
|
var source = ViewModel.ModifiersSource.ToList();
|
||||||
if (App.Client.IsMatzen) {
|
if (App.Client.IsMatzen) {
|
||||||
var kl = mod.Where(m => m.Name.StartsWith("Klasse "));
|
var kl = mod.Where(m => m.Name.StartsWith("Klasse "));
|
||||||
if (kl.Count() > 1) {
|
if (kl.Count() > 1) {
|
||||||
App.MainDispatcher.BeginInvoke(() => {
|
App.MainDispatcher.BeginInvoke(() => {
|
||||||
foreach (var r in kl.Take(kl.Count() - 1))
|
foreach (var r in kl.Take(kl.Count() - 1))
|
||||||
ModifiersInput.SelectedItems.Remove(r);
|
ViewModel.Modifiers.Remove(r);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
} else if (App.Client.IsWinzerkeller) {
|
||||||
|
if (source.Any(m => m.Name.Contains("Lesewagen"))) {
|
||||||
if (source.Any(m => m.Name.Contains("Lesewagen"))) {
|
if (mod.Any(m => m.Name.Contains("Lesewagen"))) {
|
||||||
if (mod.Any(m => m.Name.Contains("Lesewagen"))) {
|
ViewModel.IsUnloadingPumped = true;
|
||||||
ViewModel.IsUnloadingPumped = true;
|
} else {
|
||||||
} else {
|
ViewModel.IsUnloadingPumped = false;
|
||||||
ViewModel.IsUnloadingPumped = false;
|
}
|
||||||
}
|
}
|
||||||
}
|
} else if (App.Client.IsBaden) {
|
||||||
if (source.Any(m => m.Name.Contains("Kiste"))) {
|
if (source.Any(m => m.Name.Contains("Kiste"))) {
|
||||||
if (mod.Any(m => m.Name.Contains("Kiste"))) {
|
if (mod.Any(m => m.Name.Contains("Kiste"))) {
|
||||||
ViewModel.IsUnloadingBox = true;
|
ViewModel.IsUnloadingBox = true;
|
||||||
} else {
|
} else {
|
||||||
ViewModel.IsUnloadingBox = false;
|
ViewModel.IsUnloadingBox = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UnloadingInput_Checked(object sender, RoutedEventArgs evt) {
|
private void UnloadingInput_Checked(object sender, RoutedEventArgs evt) {
|
||||||
if (!IsEditing && !IsCreating) return;
|
if (!IsEditing && !IsCreating) return;
|
||||||
var mod = ModifiersInput.SelectedItems.Cast<Modifier>().ToList();
|
var mod = ViewModel.Modifiers.ToList();
|
||||||
var source = ModifiersInput.ItemsSource.Cast<Modifier>().ToList();
|
var source = ViewModel.ModifiersSource.ToList();
|
||||||
if (App.Client.IsMatzen) {
|
if (App.Client.IsMatzen) {
|
||||||
var kl = mod.Where(m => m.Name.StartsWith("Klasse ")).Select(m => m.ModId).LastOrDefault("_")[0];
|
var kl = mod.Where(m => m.Name.StartsWith("Klasse ")).Select(m => m.ModId).LastOrDefault("_")[0];
|
||||||
if (ViewModel.IsUnloadingPumped && (kl == 'A' || kl == '_')) {
|
if (ViewModel.IsUnloadingPumped && (kl == 'A' || kl == '_')) {
|
||||||
kl = 'B';
|
kl = 'B';
|
||||||
} else if (kl == 'B' && !ViewModel.IsUnloadingPumped) {
|
} else if (ViewModel.IsUnloadingDumper && kl == '_') {
|
||||||
kl = 'A';
|
|
||||||
} else if (ViewModel.IsUnloadingDumper && (kl == 'B' || kl == '_')) {
|
|
||||||
kl = 'A';
|
kl = 'A';
|
||||||
} else {
|
} else {
|
||||||
kl = '_';
|
kl = '_';
|
||||||
}
|
}
|
||||||
var newKl = source.FirstOrDefault(m => m?.ModId == kl.ToString(), null);
|
var newKl = source.FirstOrDefault(m => m?.ModId == kl.ToString(), null);
|
||||||
if (newKl != null) ModifiersInput.SelectedItems.Add(newKl);
|
if (newKl != null) ViewModel.Modifiers.Add(newKl);
|
||||||
}
|
} else if (App.Client.IsWinzerkeller) {
|
||||||
|
if (source.Any(m => m.Name.Contains("Lesewagen"))) {
|
||||||
if (source.Any(m => m.Name.Contains("Lesewagen"))) {
|
if (ViewModel.IsUnloadingPumped && !mod.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")));
|
||||||
ModifiersInput.SelectedItems.Add(source.First(m => m.Name.Contains("Lesewagen")));
|
} else if (!ViewModel.IsUnloadingPumped && mod.Any(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")));
|
||||||
ModifiersInput.SelectedItems.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);
|
RadioButton_Changed(sender, evt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user