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

@ -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();
}
}

View File

@ -411,11 +411,11 @@
<ComboBox x:Name="AttributeInput" SelectedItem="{Binding WineAttrObj, Mode=TwoWay}" ItemsSource="{Binding WineAttrSource, Mode=TwoWay}"
Grid.Row="1" Grid.Column="1" Margin="0,40,5,10"
DisplayMemberPath="Name"
SelectionChanged="AttributeInput_SelectionChanged" KeyUp="Input_KeyUp"/>
KeyUp="Input_KeyUp"/>
<ComboBox x:Name="CultivationInput" SelectedItem="{Binding WineCultObj, Mode=TwoWay}" ItemsSource="{Binding WineCultSource, Mode=TwoWay}"
Grid.Row="1" Grid.Column="2" Margin="0,40,10,10"
DisplayMemberPath="Name"
SelectionChanged="CultivationInput_SelectionChanged" KeyUp="Input_KeyUp"/>
KeyUp="Input_KeyUp"/>
</Grid>
</GroupBox>

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;