diff --git a/Elwig/ViewModels/DeliveryAdminViewModel.cs b/Elwig/ViewModels/DeliveryAdminViewModel.cs index 4ebc99f..294f436 100644 --- a/Elwig/ViewModels/DeliveryAdminViewModel.cs +++ b/Elwig/ViewModels/DeliveryAdminViewModel.cs @@ -117,7 +117,7 @@ namespace Elwig.ViewModels { public partial string? WeightString { get; set; } public int? Weight { get => int.TryParse(WeightString?.Replace(Utils.GroupSeparator, ""), out var w) ? w : null; - set => WeightString = $"{value:N0}"; + set => WeightString = value > 0 ? $"{value:N0}" : null; } [ObservableProperty] public partial string? TareString { get; set; } = "-"; diff --git a/Elwig/Windows/DeliveryAdminWindow.xaml.cs b/Elwig/Windows/DeliveryAdminWindow.xaml.cs index 93b16c4..0af4704 100644 --- a/Elwig/Windows/DeliveryAdminWindow.xaml.cs +++ b/Elwig/Windows/DeliveryAdminWindow.xaml.cs @@ -629,7 +629,7 @@ namespace Elwig.Windows { var correction = Utils.ShowTareCorrectionDialog(ViewModel.ActualTare, ViewModel.TargetTare); if (correction == null) return; ViewModel.Weight += lastCorrection - correction; - if (ViewModel.WeighingData is string s) { + if (ViewModel.Weight != null && ViewModel.WeighingData is string s) { ViewModel.TargetTare = correction == 0 ? null : (ViewModel.ActualTare ?? 0) + correction; ViewModel.Tare = ViewModel.TargetTare ?? ViewModel.ActualTare; var obj = JsonNode.Parse(s)!.AsObject(); @@ -1514,7 +1514,7 @@ namespace Elwig.Windows { } private void WeightInput_TextChanged(object sender, TextChangedEventArgs evt) { - InputTextChanged((TextBox)sender); + InputTextChanged((TextBox)sender, new ValidationResult(ViewModel.Weight > 0, null)); } private void TemperatureAcidInput_TextChanged(object sender, TextChangedEventArgs evt) {