Compare commits
2 Commits
0938e33fe1
...
404e8a0c27
| Author | SHA1 | Date | |
|---|---|---|---|
| 404e8a0c27 | |||
| ef621fab2d |
@@ -70,9 +70,9 @@ namespace Elwig.Helpers {
|
||||
for (int i = 0; i < input.Text.Length; i++) {
|
||||
char ch = input.Text[i];
|
||||
if (char.IsAsciiDigit(ch)) {
|
||||
if (v2 == -1 && v1 < maxLen) {
|
||||
if (v2 == -1 && (maxLen == -1 || v1 < maxLen)) {
|
||||
text += ch; v1++;
|
||||
} else if (v2 != -1 && v2 < maxDecimal) {
|
||||
} else if (v2 != -1 && (maxDecimal == -1 || v2 < maxDecimal)) {
|
||||
text += ch; v2++;
|
||||
}
|
||||
} else if (v2 == 0-1 && ch == ',' || ch == '.') {
|
||||
|
||||
@@ -462,6 +462,10 @@ namespace Elwig.Windows {
|
||||
InputTextChanged((TextBox)sender, Validator.CheckInteger);
|
||||
}
|
||||
|
||||
protected void DecimalInput_TextChanged(object sender, RoutedEventArgs evt) {
|
||||
InputTextChanged((TextBox)sender, Validator.CheckDecimal);
|
||||
}
|
||||
|
||||
protected void PartialDateInput_TextChanged(object sender, RoutedEventArgs evt) {
|
||||
InputTextChanged((TextBox)sender, Validator.CheckPartialDate);
|
||||
}
|
||||
|
||||
@@ -117,6 +117,7 @@ namespace Elwig.Windows {
|
||||
await Context.SaveChangesAsync();
|
||||
|
||||
foreach (var mod in ModifierList.Where(m => !ModifierIds.ContainsKey(m))) {
|
||||
if (mod.ModId == null) continue;
|
||||
await Context.AddAsync(mod);
|
||||
}
|
||||
await Context.SaveChangesAsync();
|
||||
@@ -321,6 +322,7 @@ namespace Elwig.Windows {
|
||||
}
|
||||
|
||||
private void SeasonModifierRelInput_TextChanged(object sender, TextChangedEventArgs evt) {
|
||||
DecimalInput_TextChanged(sender, evt);
|
||||
if ((!IsEditing && !IsCreating) || SeasonModifierList.SelectedItem is not Modifier mod) return;
|
||||
ModifiersChanged = ModifiersChanged || (SeasonModifierRelInput.Text ?? "") != ((SeasonModifierList.SelectedItem as Modifier)?.Rel?.ToString() ?? "");
|
||||
if (ModifierUpdate) return;
|
||||
@@ -331,11 +333,13 @@ namespace Elwig.Windows {
|
||||
}
|
||||
|
||||
private void SeasonModifierAbsInput_TextChanged(object sender, TextChangedEventArgs evt) {
|
||||
if ((!IsEditing && !IsCreating) || SeasonModifierList.SelectedItem is not Modifier mod) return;
|
||||
DecimalInput_TextChanged(sender, evt);
|
||||
if ((!IsEditing && !IsCreating) || SeasonModifierList.SelectedItem is not Modifier mod || SeasonList.SelectedItem is not Season s) return;
|
||||
ModifiersChanged = ModifiersChanged || (SeasonModifierAbsInput.Text ?? "") != ((SeasonModifierList.SelectedItem as Modifier)?.Abs?.ToString() ?? "");
|
||||
if (ModifierUpdate) return;
|
||||
mod.Abs = decimal.TryParse(SeasonModifierAbsInput.Text, out var v) ? v : null;
|
||||
if (mod.Abs != null) SeasonModifierRelInput.Text = "";
|
||||
// FIXME ValueStr does not work in ModifierList when modifier is newly created
|
||||
mod.AbsValue = decimal.TryParse(SeasonModifierAbsInput.Text, out var v) ? Utils.DecToDb(v, s.Precision) : null;
|
||||
if (mod.AbsValue != null) SeasonModifierRelInput.Text = "";
|
||||
CollectionViewSource.GetDefaultView(ModifierList).Refresh();
|
||||
UpdateButtons();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user