diff --git a/Elwig/Windows/AdministrationWindow.cs b/Elwig/Windows/AdministrationWindow.cs index 5fe2dff..96aaa8f 100644 --- a/Elwig/Windows/AdministrationWindow.cs +++ b/Elwig/Windows/AdministrationWindow.cs @@ -484,115 +484,115 @@ namespace Elwig.Windows { UpdateButtons(); } - protected void ComboBox_SelectionChanged(object sender, RoutedEventArgs evt) { + protected void ComboBox_SelectionChanged(object sender, RoutedEventArgs? evt) { UpdateComboBox((Control)sender); } - protected void IntegerInput_TextChanged(object sender, TextChangedEventArgs evt) { + protected void IntegerInput_TextChanged(object sender, TextChangedEventArgs? evt) { // FIXME InputTextChanged((TextBox)sender, Validator.CheckInteger); } - protected void DecimalInput_TextChanged(object sender, TextChangedEventArgs evt) { + protected void DecimalInput_TextChanged(object sender, TextChangedEventArgs? evt) { // FIXME InputTextChanged((TextBox)sender, Validator.CheckDecimal); } - protected void PartialDateInput_TextChanged(object sender, TextChangedEventArgs evt) { + protected void PartialDateInput_TextChanged(object sender, TextChangedEventArgs? evt) { InputTextChanged((TextBox)sender, Validator.CheckPartialDate); } - protected void PartialDateInput_LostFocus(object sender, RoutedEventArgs evt) { + protected void PartialDateInput_LostFocus(object sender, RoutedEventArgs? evt) { InputLostFocus((TextBox)sender, Validator.CheckPartialDate); } - protected void DateInput_TextChanged(object sender, TextChangedEventArgs evt) { + protected void DateInput_TextChanged(object sender, TextChangedEventArgs? evt) { InputTextChanged((TextBox)sender, Validator.CheckDate); } - protected void DateInput_LostFocus(object sender, RoutedEventArgs evt) { + protected void DateInput_LostFocus(object sender, RoutedEventArgs? evt) { InputLostFocus((TextBox)sender, Validator.CheckDate); } - protected void TimeInput_TextChanged(object sender, TextChangedEventArgs evt) { + protected void TimeInput_TextChanged(object sender, TextChangedEventArgs? evt) { InputTextChanged((TextBox)sender, Validator.CheckTime); } - protected void TimeInput_LostFocus(object sender, RoutedEventArgs evt) { + protected void TimeInput_LostFocus(object sender, RoutedEventArgs? evt) { InputLostFocus((TextBox)sender, Validator.CheckTime); } - protected async void PlzInput_TextChanged(object sender, TextChangedEventArgs evt) { + protected async void PlzInput_TextChanged(object sender, TextChangedEventArgs? evt) { var plz = (TextBox)sender; InputTextChanged(plz, Validator.CheckPlz); if ("PLZ".Equals(plz.Tag)) await UpdatePlz(plz, GetPlzOrtInput(plz)); } - protected async void PlzInput_LostFocus(object sender, RoutedEventArgs evt) { + protected async void PlzInput_LostFocus(object sender, RoutedEventArgs? evt) { var plz = (TextBox)sender; InputLostFocus(plz, Validator.CheckPlz); if ("PLZ".Equals(plz.Tag)) await UpdatePlz(plz, GetPlzOrtInput(plz)); } - protected void EmailAddressInput_TextChanged(object sender, TextChangedEventArgs evt) { + protected void EmailAddressInput_TextChanged(object sender, TextChangedEventArgs? evt) { InputTextChanged((TextBox)sender, Validator.CheckEmailAddress); } - protected void EmailAddressInput_LostFocus(object sender, RoutedEventArgs evt) { + protected void EmailAddressInput_LostFocus(object sender, RoutedEventArgs? evt) { InputLostFocus((TextBox)sender, Validator.CheckEmailAddress); } - protected void PhoneNrInput_TextChanged(object sender, TextChangedEventArgs evt) { + protected void PhoneNrInput_TextChanged(object sender, TextChangedEventArgs? evt) { InputTextChanged((TextBox)sender, Validator.CheckPhoneNumber); } - protected void PhoneNrInput_LostFocus(object sender, RoutedEventArgs evt) { + protected void PhoneNrInput_LostFocus(object sender, RoutedEventArgs? evt) { InputLostFocus((TextBox)sender, Validator.CheckPhoneNumber); } - protected void IbanInput_TextChanged(object sender, TextChangedEventArgs evt) { + protected void IbanInput_TextChanged(object sender, TextChangedEventArgs? evt) { InputTextChanged((TextBox)sender, Validator.CheckIban); } - protected void IbanInput_LostFocus(object sender, RoutedEventArgs evt) { + protected void IbanInput_LostFocus(object sender, RoutedEventArgs? evt) { InputLostFocus((TextBox)sender, Validator.CheckIban); } - protected void BicInput_TextChanged(object sender, TextChangedEventArgs evt) { + protected void BicInput_TextChanged(object sender, TextChangedEventArgs? evt) { InputTextChanged((TextBox)sender, Validator.CheckBic); } - protected void BicInput_LostFocus(object sender, RoutedEventArgs evt) { + protected void BicInput_LostFocus(object sender, RoutedEventArgs? evt) { InputLostFocus((TextBox)sender, Validator.CheckBic); } - protected void UstIdNrInput_TextChanged(object sender, TextChangedEventArgs evt) { + protected void UstIdNrInput_TextChanged(object sender, TextChangedEventArgs? evt) { InputTextChanged((TextBox)sender, Validator.CheckUstIdNr); } - protected void UstIdNrInput_LostFocus(object sender, RoutedEventArgs evt) { + protected void UstIdNrInput_LostFocus(object sender, RoutedEventArgs? evt) { InputLostFocus((TextBox)sender, Validator.CheckUstIdNr); } - protected void LfbisNrInput_TextChanged(object sender, TextChangedEventArgs evt) { + protected void LfbisNrInput_TextChanged(object sender, TextChangedEventArgs? evt) { InputTextChanged((TextBox)sender, Validator.CheckLfbisNr); } - protected void LfbisNrInput_LostFocus(object sender, RoutedEventArgs evt) { + protected void LfbisNrInput_LostFocus(object sender, RoutedEventArgs? evt) { InputLostFocus((TextBox)sender, Validator.CheckLfbisNr); } - protected void UpperCaseInput_TextChanged(object sender, TextChangedEventArgs evt) { + protected void UpperCaseInput_TextChanged(object sender, TextChangedEventArgs? evt) { InputTextChanged((TextBox)sender, Validator.CheckUpperCase); } - protected void UpperCaseInput_LostFocus(object sender, RoutedEventArgs evt) { + protected void UpperCaseInput_LostFocus(object sender, RoutedEventArgs? evt) { InputLostFocus((TextBox)sender, Validator.CheckUpperCase); } - protected void AreaComTypeDetailsButton_Click(object sender, RoutedEventArgs evt) { + protected void AreaComTypeDetailsButton_Click(object sender, RoutedEventArgs? evt) { App.FocusBaseDataAreaComType(); } } diff --git a/Elwig/Windows/DeliveryAdminWindow.xaml b/Elwig/Windows/DeliveryAdminWindow.xaml index 69df874..6f7cf39 100644 --- a/Elwig/Windows/DeliveryAdminWindow.xaml +++ b/Elwig/Windows/DeliveryAdminWindow.xaml @@ -411,11 +411,11 @@ + KeyUp="Input_KeyUp"/> + KeyUp="Input_KeyUp"/> diff --git a/Elwig/Windows/DeliveryAdminWindow.xaml.cs b/Elwig/Windows/DeliveryAdminWindow.xaml.cs index d6a220f..5fcb39d 100644 --- a/Elwig/Windows/DeliveryAdminWindow.xaml.cs +++ b/Elwig/Windows/DeliveryAdminWindow.xaml.cs @@ -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(); @@ -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;