DeliveryAdminWindow: Fix übernahme logic

This commit is contained in:
2023-10-22 01:09:28 +02:00
parent 25d681a1d8
commit d5102c9cd7
3 changed files with 53 additions and 45 deletions

View File

@ -14,8 +14,13 @@ namespace Elwig.Helpers {
public bool IsWolkersdorf => Client == Type.Winzerkeller && App.ZwstId == "W"; public bool IsWolkersdorf => Client == Type.Winzerkeller && App.ZwstId == "W";
public bool IsHaugsdorf => Client == Type.Winzerkeller && App.ZwstId == "H"; public bool IsHaugsdorf => Client == Type.Winzerkeller && App.ZwstId == "H";
public bool IsSitzendorf => Client == Type.Winzerkeller && App.ZwstId == "S"; public bool IsSitzendorf => Client == Type.Winzerkeller && App.ZwstId == "S";
public bool HasRebler => IsMatzen || IsWolkersdorf;
public bool HasKisten => IsHaugsdorf || IsSitzendorf; public bool HasRebler(string? zwstId) => IsMatzen || (IsWinzerkeller && zwstId == "W");
public bool HasRebler(Branch? b) => HasRebler(b?.ZwstId);
public bool HasRebler() => HasRebler(App.ZwstId);
public bool HasKisten(string? zwstId) => IsWinzerkeller && (zwstId == "H" || zwstId == "S");
public bool HasKisten(Branch? b) => HasKisten(b?.ZwstId);
public bool HasKisten() => HasKisten(App.ZwstId);
public string NameToken; public string NameToken;
public string NameShort; public string NameShort;

View File

@ -252,9 +252,9 @@ namespace Elwig.Windows {
foreach (var ccb in CheckComboBoxInputs) foreach (var ccb in CheckComboBoxInputs)
ccb.SelectedItems.Clear(); ccb.SelectedItems.Clear();
foreach (var cb in CheckBoxInputs) foreach (var cb in CheckBoxInputs)
cb.IsChecked = false; cb.IsChecked = cb.IsThreeState ? null : false;
foreach (var rb in RadioButtonInputs) foreach (var rb in RadioButtonInputs)
rb.IsChecked = false; rb.IsChecked = rb.IsThreeState ? null : false;
if (validate) ValidateRequiredInputs(); if (validate) ValidateRequiredInputs();
} }

View File

@ -208,6 +208,36 @@ namespace Elwig.Windows {
} }
} }
private void InitialDefaultInputs() {
if (App.Client.HasRebler(BranchInput.SelectedValue as Branch)) {
GerebeltGewogenInput.IsEnabled = false;
SetDefaultValue(GerebeltGewogenInput, true);
} else {
GerebeltGewogenInput.IsEnabled = true;
UnsetDefaultValue(GerebeltGewogenInput);
}
if (App.Client.HasKisten(BranchInput.SelectedValue as Branch)) {
LesewagenInput.IsEnabled = false;
SetDefaultValue(LesewagenInput, false);
HandPickedInput.IsThreeState = false;
UnsetDefaultValue(HandPickedInput);
} else {
LesewagenInput.IsEnabled = true;
UnsetDefaultValue(LesewagenInput);
HandPickedInput.IsThreeState = true;
SetDefaultValue(HandPickedInput, null);
}
if (App.Client.IsMatzen || App.Client.IsWinzerkeller) {
GebundenInput.IsEnabled = false;
SetDefaultValue(GebundenInput, null);
} else {
GebundenInput.IsEnabled = true;
UnsetDefaultValue(GebundenInput);
}
}
private void InitialInputs() { private void InitialInputs() {
LastScaleError = null; LastScaleError = null;
WeighingId = null; WeighingId = null;
@ -217,41 +247,11 @@ namespace Elwig.Windows {
ClearOriginalValues(); ClearOriginalValues();
ClearDefaultValues(); ClearDefaultValues();
if (App.Client.HasRebler) { GerebeltGewogenInput.IsChecked = App.Client.HasRebler(BranchInput.SelectedValue as Branch);
GerebeltGewogenInput.IsChecked = true; LesewagenInput.IsChecked = false;
GerebeltGewogenInput.IsEnabled = false; HandPickedInput.IsChecked = App.Client.HasKisten(BranchInput.SelectedValue as Branch) ? true : null;
SetDefaultValue(GerebeltGewogenInput); GebundenInput.IsChecked = null;
} else { InitialDefaultInputs();
GerebeltGewogenInput.IsChecked = false;
GerebeltGewogenInput.IsEnabled = true;
UnsetDefaultValue(GerebeltGewogenInput);
}
if (App.Client.HasKisten) {
LesewagenInput.IsChecked = false;
LesewagenInput.IsEnabled = false;
SetDefaultValue(LesewagenInput);
HandPickedInput.IsThreeState = false;
HandPickedInput.IsChecked = true;
UnsetDefaultValue(HandPickedInput);
} else {
LesewagenInput.IsChecked = false;
LesewagenInput.IsEnabled = true;
UnsetDefaultValue(LesewagenInput);
HandPickedInput.IsThreeState = true;
HandPickedInput.IsChecked = null;
SetDefaultValue(HandPickedInput);
}
if (App.Client.IsMatzen || App.Client.IsWinzerkeller) {
GebundenInput.IsChecked = null;
GebundenInput.IsEnabled = false;
SetDefaultValue(GebundenInput);
} else {
GebundenInput.IsChecked = null;
GebundenInput.IsEnabled = true;
UnsetDefaultValue(GebundenInput);
}
WineQualityLevelInput.IsEnabled = false; WineQualityLevelInput.IsEnabled = false;
ValidateRequiredInputs(); ValidateRequiredInputs();
@ -1407,14 +1407,17 @@ namespace Elwig.Windows {
} }
} }
private void DateInput_TextChanged(object sender, TextChangedEventArgs evt) { private async void DateInput_TextChanged(object sender, TextChangedEventArgs evt) {
base.DateInput_TextChanged(sender, evt); base.DateInput_TextChanged(sender, evt);
if (IsEditing || IsCreating) UpdateLsNr().GetAwaiter().GetResult(); if (IsEditing || IsCreating) await UpdateLsNr();
} }
private void BranchInput_SelectionChanged(object sender, RoutedEventArgs evt) { private async void BranchInput_SelectionChanged(object sender, RoutedEventArgs evt) {
base.ComboBox_SelectionChanged(sender, evt); base.ComboBox_SelectionChanged(sender, evt);
if (IsEditing || IsCreating) UpdateLsNr().GetAwaiter().GetResult(); if (IsEditing || IsCreating) {
await UpdateLsNr();
InitialDefaultInputs();
}
} }
private void UpdateWineVariety(bool valid) { private void UpdateWineVariety(bool valid) {
@ -1603,14 +1606,14 @@ namespace Elwig.Windows {
} }
private void GerebeltGewogenInput_Changed(object sender, RoutedEventArgs evt) { private void GerebeltGewogenInput_Changed(object sender, RoutedEventArgs evt) {
if (App.Client.HasKisten) { if (App.Client.HasKisten(BranchInput.SelectedValue as Branch)) {
HandPickedInput.IsChecked = !GerebeltGewogenInput.IsChecked; HandPickedInput.IsChecked = !GerebeltGewogenInput.IsChecked;
} }
CheckBox_Changed(sender, evt); CheckBox_Changed(sender, evt);
} }
private void HandPickedInput_Changed(object sender, RoutedEventArgs evt) { private void HandPickedInput_Changed(object sender, RoutedEventArgs evt) {
if (App.Client.HasKisten) { if (App.Client.HasKisten(BranchInput.SelectedValue as Branch)) {
GerebeltGewogenInput.IsChecked = !HandPickedInput.IsChecked; GerebeltGewogenInput.IsChecked = !HandPickedInput.IsChecked;
} }
CheckBox_Changed(sender, evt); CheckBox_Changed(sender, evt);