DeliveryAdminWindow: Handle members without default KG correctly
All checks were successful
Test / Run tests (push) Successful in 2m44s

This commit is contained in:
2024-07-27 20:46:13 +02:00
parent 662862090e
commit 4c3f0c40fa
3 changed files with 55 additions and 39 deletions

View File

@ -624,7 +624,11 @@ namespace Elwig.Windows {
private void MgNrInput_TextChanged(object sender, TextChangedEventArgs evt) {
var valid = InputTextChanged((TextBox)sender, Validator.CheckMgNr);
var text = MgNrInput.Text;
var caret = MgNrInput.CaretIndex;
ControlUtils.SelectItemWithPk(MemberInput, valid ? ViewModel.MgNr : null);
MgNrInput.Text = text;
MgNrInput.CaretIndex = caret;
}
private void MgNrInput_LostFocus(object sender, RoutedEventArgs evt) {
@ -638,10 +642,16 @@ namespace Elwig.Windows {
ViewModel.MemberAddress = m?.FullAddress;
if (m == null) {
UnsetDefaultValue(WineKgInput);
WineKgInput.SelectedIndex = 0;
WineKgInput.SelectedItem = null;
ComboBox_SelectionChanged(WineKgInput, null);
} else {
ControlUtils.SelectItemWithPk(WineKgInput, m.DefaultKgNr);
if (m.DefaultKgNr is int kgnr) {
ControlUtils.SelectItemWithPk(WineKgInput, kgnr);
} else {
WineKgInput.SelectedItem = null;
}
SetDefaultValue(WineKgInput);
ComboBox_SelectionChanged(WineKgInput, null);
}
}
@ -1214,6 +1224,7 @@ namespace Elwig.Windows {
using var ctx = new AppDbContext();
if (!GetInputValid(GradationKmwInput)) {
UnsetDefaultValue(WineQualityLevelInput);
ComboBox_SelectionChanged(WineQualityLevelInput, null);
WineQualityLevelInput.ItemsSource = ctx.WineQualityLevels.Where(q => q.QualId == "WEI").ToList();
return;
}
@ -1271,14 +1282,6 @@ namespace Elwig.Windows {
GradationKmwInput.Text += ",0";
}
private void AttributeInput_SelectionChanged(object sender, SelectionChangedEventArgs evt) {
}
private void CultivationInput_SelectionChanged(object sender, SelectionChangedEventArgs evt) {
}
private void ModifiersInput_SelectionChanged(object sender, SelectionChangedEventArgs evt) {
if (!IsEditing && !IsCreating) return;
var mod = ModifiersInput.SelectedItems.Cast<Modifier>();
@ -1291,6 +1294,12 @@ namespace Elwig.Windows {
ModifiersInput.SelectedItems.Remove(r);
});
}
} else if (App.Client.IsWinzerkeller) {
if (mod.Any(m => m.Name.Contains("Lesewagen"))) {
ViewModel.IsLesewagen = true;
} else {
ViewModel.IsLesewagen = false;
}
}
}
@ -1302,8 +1311,14 @@ namespace Elwig.Windows {
if (App.Client.IsMatzen) {
var kl = mod.Where(m => m.Name.StartsWith("Klasse ")).Select(m => m.ModId).LastOrDefault("A")[0];
if (lw) kl++; else kl--;
var newKl = source.Where(m => m.ModId == kl.ToString()).FirstOrDefault();
var newKl = source.FirstOrDefault(m => m.ModId == kl.ToString());
if (newKl != null) ModifiersInput.SelectedItems.Add(newKl);
} else if (App.Client.IsWinzerkeller) {
if (lw && !mod.Any(m => m.Name.Contains("Lesewagen"))) {
ModifiersInput.SelectedItems.Add(source.First(m => m.Name.Contains("Lesewagen")));
} else if (!lw && mod.Any(m => m.Name.Contains("Lesewagen"))) {
ModifiersInput.SelectedItems.Remove(mod.First(m => m.Name.Contains("Lesewagen")));
}
}
CheckBox_Changed(sender, evt);
}
@ -1314,6 +1329,7 @@ namespace Elwig.Windows {
if (qual == null || kg == null) {
WineOriginInput.IsEnabled = (IsEditing || IsCreating);
UnsetDefaultValue(WineOriginInput);
ComboBox_SelectionChanged(WineOriginInput, null);
return;
}
WineOriginInput.IsEnabled = false;