AdministrationWindow: finally fix boolean changing error
This commit is contained in:
@ -212,9 +212,9 @@ namespace Elwig.Helpers {
|
|||||||
} else if (input is Xceed.Wpf.Toolkit.CheckComboBox ccb) {
|
} else if (input is Xceed.Wpf.Toolkit.CheckComboBox ccb) {
|
||||||
return ccb.SelectedItems.Cast<object>().ToArray();
|
return ccb.SelectedItems.Cast<object>().ToArray();
|
||||||
} else if (input is CheckBox cb) {
|
} else if (input is CheckBox cb) {
|
||||||
return (cb.IsChecked != null ? (cb.IsChecked == true ? bool.TrueString : bool.FalseString) : null);
|
return cb.IsChecked?.ToString();
|
||||||
} else if (input is RadioButton rb) {
|
} else if (input is RadioButton rb) {
|
||||||
return (rb.IsChecked != null ? (rb.IsChecked == true ? bool.TrueString : bool.FalseString) : null);
|
return rb.IsChecked?.ToString();
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -190,13 +190,13 @@ namespace Elwig.Windows {
|
|||||||
foreach (var ccb in CheckComboBoxInputs)
|
foreach (var ccb in CheckComboBoxInputs)
|
||||||
OriginalValues[ccb] = ccb.SelectedItems.Cast<object>().ToArray();
|
OriginalValues[ccb] = ccb.SelectedItems.Cast<object>().ToArray();
|
||||||
foreach (var cb in CheckBoxInputs)
|
foreach (var cb in CheckBoxInputs)
|
||||||
OriginalValues[cb] = (cb.IsChecked != null ? (cb.IsChecked == true ? bool.TrueString : bool.FalseString) : null);
|
OriginalValues[cb] = cb.IsChecked?.ToString();
|
||||||
foreach (var rb in RadioButtonInputs)
|
foreach (var rb in RadioButtonInputs)
|
||||||
OriginalValues[rb] = (rb.IsChecked != null ? (rb.IsChecked == true ? bool.TrueString : bool.FalseString) : null);
|
OriginalValues[rb] = rb.IsChecked?.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void SetOriginalValue(Control input, object? value) {
|
protected void SetOriginalValue(Control input, object? value) {
|
||||||
OriginalValues[input] = value;
|
OriginalValues[input] = value is bool b ? b.ToString() : value;
|
||||||
if (InputHasChanged(input)) {
|
if (InputHasChanged(input)) {
|
||||||
ControlUtils.SetInputChanged(input);
|
ControlUtils.SetInputChanged(input);
|
||||||
} else {
|
} else {
|
||||||
@ -204,13 +204,17 @@ namespace Elwig.Windows {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void SetOriginalValue(Control input) {
|
||||||
|
SetOriginalValue(input, ControlUtils.GetInputValue(input));
|
||||||
|
}
|
||||||
|
|
||||||
protected void UnsetOriginalValue(Control input) {
|
protected void UnsetOriginalValue(Control input) {
|
||||||
OriginalValues.Remove(input);
|
OriginalValues.Remove(input);
|
||||||
ControlUtils.ClearInputState(input);
|
ControlUtils.ClearInputState(input);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void SetDefaultValue(Control input, object? value) {
|
protected void SetDefaultValue(Control input, object? value) {
|
||||||
DefaultValues[input] = value;
|
DefaultValues[input] = value is bool b ? b.ToString() : value;
|
||||||
if (!InputHasChanged(input)) {
|
if (!InputHasChanged(input)) {
|
||||||
if (InputIsNotDefault(input)) {
|
if (InputIsNotDefault(input)) {
|
||||||
ControlUtils.SetInputNotDefault(input);
|
ControlUtils.SetInputNotDefault(input);
|
||||||
@ -261,9 +265,9 @@ namespace Elwig.Windows {
|
|||||||
} else if (input is CheckComboBox ccb) {
|
} else if (input is CheckComboBox ccb) {
|
||||||
return !ccb.SelectedItems.Cast<object>().ToArray().SequenceEqual(((object[]?)OriginalValues[ccb]) ?? Array.Empty<object>());
|
return !ccb.SelectedItems.Cast<object>().ToArray().SequenceEqual(((object[]?)OriginalValues[ccb]) ?? Array.Empty<object>());
|
||||||
} else if (input is CheckBox cb) {
|
} else if (input is CheckBox cb) {
|
||||||
return (string?)OriginalValues[cb] != (cb.IsChecked != null ? (cb.IsChecked == true ? bool.TrueString : bool.FalseString) : null);
|
return (string?)OriginalValues[cb] != cb.IsChecked?.ToString();
|
||||||
} else if (input is RadioButton rb) {
|
} else if (input is RadioButton rb) {
|
||||||
return (string?)OriginalValues[rb] != (rb.IsChecked != null ? (rb.IsChecked == true ? bool.TrueString : bool.FalseString) : null);
|
return (string?)OriginalValues[rb] != rb.IsChecked?.ToString();
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -279,9 +283,9 @@ namespace Elwig.Windows {
|
|||||||
} else if (input is CheckComboBox ccb) {
|
} else if (input is CheckComboBox ccb) {
|
||||||
return !ccb.SelectedItems.Cast<object>().ToArray().SequenceEqual(((object[]?)DefaultValues[ccb]) ?? Array.Empty<object>());
|
return !ccb.SelectedItems.Cast<object>().ToArray().SequenceEqual(((object[]?)DefaultValues[ccb]) ?? Array.Empty<object>());
|
||||||
} else if (input is CheckBox cb) {
|
} else if (input is CheckBox cb) {
|
||||||
return (string?)DefaultValues[cb] != (cb.IsChecked != null ? (cb.IsChecked == true ? bool.TrueString : bool.FalseString) : null);
|
return (string?)DefaultValues[cb] != cb.IsChecked?.ToString();
|
||||||
} else if (input is RadioButton rb) {
|
} else if (input is RadioButton rb) {
|
||||||
return (string?)DefaultValues[rb] != (rb.IsChecked != null ? (rb.IsChecked == true ? bool.TrueString : bool.FalseString) : null);
|
return (string?)DefaultValues[rb] != rb.IsChecked?.ToString();
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -78,10 +78,6 @@ namespace Elwig.Windows {
|
|||||||
WeighingCButton.Visibility = Visibility.Hidden;
|
WeighingCButton.Visibility = Visibility.Hidden;
|
||||||
WeighingDButton.Visibility = Visibility.Hidden;
|
WeighingDButton.Visibility = Visibility.Hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (App.Client.IsMatzen) {
|
|
||||||
SetDefaultValue(GerebeltGewogenInput, true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public DeliveryAdminWindow(int mgnr) : this() {
|
public DeliveryAdminWindow(int mgnr) : this() {
|
||||||
|
Reference in New Issue
Block a user