Fix Original/Default input detection in DeliveryAdminWindow
This commit is contained in:
@ -74,6 +74,10 @@ namespace Elwig.Windows {
|
||||
WeighingCButton.Visibility = Visibility.Hidden;
|
||||
WeighingDButton.Visibility = Visibility.Hidden;
|
||||
}
|
||||
|
||||
if (App.Client.Client == ClientParameters.Type.Matzen) {
|
||||
SetDefaultValue(GerebeltGewogenInput, true);
|
||||
}
|
||||
}
|
||||
|
||||
public DeliveryAdminWindow(int mgnr) : this() {
|
||||
@ -120,11 +124,13 @@ namespace Elwig.Windows {
|
||||
|
||||
private void InitialInputs() {
|
||||
HandPickedInput.IsChecked = null;
|
||||
SetDefaultValue(HandPickedInput, null);
|
||||
if (App.Client.Client == ClientParameters.Type.Matzen) {
|
||||
GerebeltGewogenInput.IsChecked = true;
|
||||
GerebeltGewogenInput.IsEnabled = false;
|
||||
} else {
|
||||
GerebeltGewogenInput.IsChecked = false;
|
||||
UnsetDefaultValue(GerebeltGewogenInput);
|
||||
GerebeltGewogenInput.IsEnabled = true;
|
||||
}
|
||||
ClearOriginalValues();
|
||||
@ -372,7 +378,7 @@ namespace Elwig.Windows {
|
||||
ControlUtils.RenewItemsSource(MemberInput, await Context.Members.OrderBy(m => m.FamilyName).ThenBy(m => m.GivenName).ToListAsync(), i => (i as Member)?.MgNr);
|
||||
ControlUtils.RenewItemsSource(BranchInput, await Context.Branches.OrderBy(b => b.Name).ToListAsync(), i => (i as Branch)?.ZwstId);
|
||||
ControlUtils.RenewItemsSource(WineVarietyInput, await Context.WineVarieties.OrderBy(v => v.Name).ToListAsync(), i => (i as WineVar)?.SortId);
|
||||
ControlUtils.RenewItemsSource(AttributesInput, await Context.WineAttributes.OrderBy(a => a.Name).ToListAsync(), i => (i as WineAttr)?.AttrId);
|
||||
ControlUtils.RenewItemsSource(AttributesInput, await Context.WineAttributes.Where(a => IsCreating || a.IsActive).OrderBy(a => a.Name).ToListAsync(), i => (i as WineAttr)?.AttrId);
|
||||
ControlUtils.RenewItemsSource(WineQualityLevelInput, await Context.WineQualityLevels.ToListAsync(), i => (i as WineQualLevel)?.QualId);
|
||||
ControlUtils.RenewItemsSource(ModifiersInput, await Context.Modifiers.Where(m => m.Year == y).OrderBy(m => m.Ordering).ToListAsync(), i => (i as Modifier)?.ModId);
|
||||
ControlUtils.RenewItemsSource(WineOriginInput, (await Context.WineOrigins.ToListAsync()).OrderByDescending(o => o.SortKey).ThenBy(o => o.HkId), i => (i as WineOrigin)?.HkId);
|
||||
@ -433,12 +439,12 @@ namespace Elwig.Windows {
|
||||
TemperatureInput.Text = "";
|
||||
AcidInput.Text = "";
|
||||
|
||||
FillOriginalValues();
|
||||
FinishInputFilling();
|
||||
}
|
||||
|
||||
private void FillInputs(DeliveryPart p) {
|
||||
ClearOriginalValues();
|
||||
FillInputs(p.Delivery);
|
||||
ClearOriginalValues();
|
||||
|
||||
SortIdInput.Text = p?.SortId ?? "";
|
||||
ControlUtils.SelectCheckComboBoxItems(AttributesInput, p?.Attributes, i => (i as WineAttr)?.AttrId);
|
||||
@ -457,7 +463,7 @@ namespace Elwig.Windows {
|
||||
LesewagenInput.IsChecked = p?.IsLesewagen ?? false;
|
||||
HandPickedInput.IsChecked = p?.IsHandPicked;
|
||||
|
||||
FillOriginalValues();
|
||||
FinishInputFilling();
|
||||
}
|
||||
|
||||
private async Task<DeliveryPart> UpdateDeliveryPart(Delivery? d, DeliveryPart? p) {
|
||||
@ -698,10 +704,10 @@ namespace Elwig.Windows {
|
||||
if (m != null) MgNrInput.Text = m.MgNr.ToString();
|
||||
MemberAddressField.Text = m?.FullAddress;
|
||||
if (m == null) {
|
||||
UnsetOriginalValue(WineKgInput);
|
||||
UnsetDefaultValue(WineKgInput);
|
||||
WineKgInput.SelectedIndex = 0;
|
||||
} else {
|
||||
SetOriginalValue(WineKgInput, m.DefaultKg);
|
||||
SetDefaultValue(WineKgInput, m.DefaultKg);
|
||||
WineKgInput.SelectedItem = m.DefaultKg;
|
||||
}
|
||||
}
|
||||
@ -732,6 +738,7 @@ namespace Elwig.Windows {
|
||||
}
|
||||
|
||||
private void CancelCreatingButton_Click(object sender, RoutedEventArgs evt) {
|
||||
ControlUtils.RenewItemsSource(AttributesInput, Context.WineAttributes.OrderBy(a => a.Name).ToList(), i => (i as WineAttr)?.AttrId);
|
||||
if (DeliveryList.SelectedItem is not Delivery d) {
|
||||
// switch away from creating mode
|
||||
IsCreating = false;
|
||||
@ -753,6 +760,7 @@ namespace Elwig.Windows {
|
||||
}
|
||||
|
||||
private void NewDeliveryButton_Click(object? sender, RoutedEventArgs? evt) {
|
||||
ControlUtils.RenewItemsSource(AttributesInput, Context.WineAttributes.Where(a => a.IsActive).OrderBy(a => a.Name).ToList(), i => (i as WineAttr)?.AttrId);
|
||||
IsCreating = true;
|
||||
DeliveryList.IsEnabled = false;
|
||||
DeliveryPartList.IsEnabled = false;
|
||||
@ -824,7 +832,7 @@ namespace Elwig.Windows {
|
||||
ShowNewEditDeleteButtons();
|
||||
LockInputs();
|
||||
UnlockSearchInputs();
|
||||
FillOriginalValues();
|
||||
FinishInputFilling();
|
||||
await RefreshDeliveryList();
|
||||
RefreshDeliveryParts();
|
||||
RefreshInputs();
|
||||
@ -853,7 +861,6 @@ namespace Elwig.Windows {
|
||||
HideSaveResetCancelButtons();
|
||||
ShowNewEditDeleteButtons();
|
||||
RefreshInputs();
|
||||
ClearInputStates();
|
||||
LockInputs();
|
||||
UnlockSearchInputs();
|
||||
|
||||
@ -1028,14 +1035,14 @@ namespace Elwig.Windows {
|
||||
|
||||
private void UpdateWineQualityLevels() {
|
||||
if (!GetInputValid(GradationKmwInput)) {
|
||||
UnsetOriginalValue(WineQualityLevelInput);
|
||||
UnsetDefaultValue(WineQualityLevelInput);
|
||||
WineQualityLevelInput.ItemsSource = Context.WineQualityLevels.Where(q => q.QualId == "WEI").ToList();
|
||||
return;
|
||||
}
|
||||
var kmw = double.Parse(GradationKmwInput.Text);
|
||||
WineQualityLevelInput.ItemsSource = Context.WineQualityLevels.Where(q => q.MinKmw == null || q.MinKmw <= kmw).ToList();
|
||||
var qual = Context.GetWineQualityLevel(kmw).GetAwaiter().GetResult();
|
||||
SetOriginalValue(WineQualityLevelInput, qual);
|
||||
SetDefaultValue(WineQualityLevelInput, qual);
|
||||
if (WineQualityLevelInput.SelectedItem == null || (WineQualityLevelInput.SelectedItem is WineQualLevel selected && !selected.IsPredicate)) {
|
||||
WineQualityLevelInput.SelectedItem = qual;
|
||||
}
|
||||
@ -1099,11 +1106,13 @@ namespace Elwig.Windows {
|
||||
var kg = (WineKgInput.SelectedItem as AT_Kg)?.WbKg;
|
||||
if (qual == null || kg == null) {
|
||||
WineOriginInput.IsEnabled = (IsEditing || IsCreating);
|
||||
UnsetDefaultValue(WineOriginInput);
|
||||
return;
|
||||
}
|
||||
WineOriginInput.IsEnabled = false;
|
||||
var o = kg.Origin;
|
||||
while (o != null && o.Level > qual.OriginLevel) o = o.Parent;
|
||||
SetDefaultValue(WineOriginInput, o);
|
||||
WineOriginInput.SelectedItem = o;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user