From 0e586cc438f831c9811374cab04f53a78e07701f Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Fri, 2 Oct 2026 10:31:47 +0200 Subject: [PATCH] DeliveryAdminWindow: Invalidate non-positive weight --- Elwig/ViewModels/DeliveryAdminViewModel.cs | 2 +- Elwig/Windows/DeliveryAdminWindow.xaml.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) 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) {