DeliveryAdminWindow: Force user to input gerebelt gewogen input
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				Test / Run tests (push) Successful in 2m2s
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	Test / Run tests (push) Successful in 2m2s
				
			This commit is contained in:
		| @@ -109,7 +109,7 @@ namespace Elwig.Windows { | ||||
|  | ||||
|         private void OnClosing(object? sender, CancelEventArgs evt) { | ||||
|             if ((IsCreating || IsEditing) && HasChanged) { | ||||
|                 var r = System.Windows.MessageBox.Show("Soll das Fenster wirklich geschlossen werden?", "Schließen bestätigen", | ||||
|                 var r = MessageBox.Show("Soll das Fenster wirklich geschlossen werden?", "Schließen bestätigen", | ||||
|                     MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No); | ||||
|                 if (r != MessageBoxResult.Yes) { | ||||
|                     evt.Cancel = true; | ||||
| @@ -166,7 +166,7 @@ namespace Elwig.Windows { | ||||
|                     ControlUtils.SetInputInvalid(input); | ||||
|                 } else if (input is ListBox lb && lb.SelectedItem == null && lb.ItemsSource != null && lb.ItemsSource.Cast<object>().Any()) { | ||||
|                     ControlUtils.SetInputInvalid(input); | ||||
|                 } else if (input is CheckBox ckb && ckb.IsChecked != true) { | ||||
|                 } else if (input is CheckBox ckb && ((ckb.IsThreeState && ckb.IsChecked == null) || (!ckb.IsThreeState && ckb.IsChecked != true))) { | ||||
|                     ControlUtils.SetInputInvalid(input); | ||||
|                     Valid[input] = false; | ||||
|                 } else if (input is RadioButton rb && rb.IsChecked != true) { | ||||
| @@ -402,20 +402,24 @@ namespace Elwig.Windows { | ||||
|  | ||||
|         protected bool InputLostFocus(TextBox input, ValidationResult res, string? msg = null) { | ||||
|             if (DoShowWarningWindows && !res.IsValid && !IsClosing && (IsEditing || IsCreating)) | ||||
|                 System.Windows.MessageBox.Show(res.ErrorContent.ToString(), msg ?? res.ErrorContent.ToString(), MessageBoxButton.OK, MessageBoxImage.Warning); | ||||
|                 MessageBox.Show(res.ErrorContent.ToString(), msg ?? res.ErrorContent.ToString(), MessageBoxButton.OK, MessageBoxImage.Warning); | ||||
|             return res.IsValid; | ||||
|         } | ||||
|  | ||||
|         protected void CheckBox_Changed(object sender, RoutedEventArgs evt) { | ||||
|             var input = (CheckBox)sender; | ||||
|             if (SenderIsRequired(input) && input.IsChecked != true) { | ||||
|             if (SenderIsRequired(input) && ((input.IsThreeState && input.IsChecked == null) || (!input.IsThreeState && input.IsChecked != true))) { | ||||
|                 ValidateInput(input, false); | ||||
|                 ControlUtils.SetInputInvalid(input); | ||||
|             } else if (InputHasChanged(input)) { | ||||
|                 ControlUtils.SetInputChanged(input); | ||||
|             } else if (InputIsNotDefault(input)) { | ||||
|                 ControlUtils.SetInputNotDefault(input); | ||||
|             } else { | ||||
|                 ControlUtils.ClearInputState(input); | ||||
|                 ValidateInput(input, true); | ||||
|                 if (InputHasChanged(input)) { | ||||
|                     ControlUtils.SetInputChanged(input); | ||||
|                 } else if (InputIsNotDefault(input)) { | ||||
|                     ControlUtils.SetInputNotDefault(input); | ||||
|                 } else { | ||||
|                     ControlUtils.ClearInputState(input); | ||||
|                 } | ||||
|             } | ||||
|             UpdateButtons(); | ||||
|         } | ||||
| @@ -423,13 +427,17 @@ namespace Elwig.Windows { | ||||
|         protected void RadioButton_Changed(object sender, RoutedEventArgs evt) { | ||||
|             var input = (RadioButton)sender; | ||||
|             if (SenderIsRequired(input) && input.IsChecked != true) { | ||||
|                 ValidateInput(input, false); | ||||
|                 ControlUtils.SetInputInvalid(input); | ||||
|             } else if (InputHasChanged(input)) { | ||||
|                 ControlUtils.SetInputChanged(input); | ||||
|             } else if (InputIsNotDefault(input)) { | ||||
|                 ControlUtils.SetInputNotDefault(input); | ||||
|             } else { | ||||
|                 ControlUtils.ClearInputState(input); | ||||
|                 ValidateInput(input, true); | ||||
|                 if (InputHasChanged(input)) { | ||||
|                     ControlUtils.SetInputChanged(input); | ||||
|                 } else if (InputIsNotDefault(input)) { | ||||
|                     ControlUtils.SetInputNotDefault(input); | ||||
|                 } else { | ||||
|                     ControlUtils.ClearInputState(input); | ||||
|                 } | ||||
|             } | ||||
|             UpdateButtons(); | ||||
|         } | ||||
|   | ||||
| @@ -468,10 +468,10 @@ | ||||
|                               VerticalAlignment="Top" HorizontalAlignment="Left" Margin="10,45,10,10" Grid.Column="0" Grid.ColumnSpan="2" | ||||
|                               Checked="CheckBox_Changed" Unchecked="CheckBox_Changed"/> | ||||
|  | ||||
|                     <CheckBox x:Name="GerebeltGewogenInput" IsChecked="{Binding IsNetWeight, Mode=TwoWay}" | ||||
|                               Content="Gerebelt gewogen" | ||||
|                     <CheckBox x:Name="GerebeltGewogenInput" IsChecked="{Binding IsNetWeightValue, Mode=TwoWay}" | ||||
|                               Content="Gerebelt gewogen" IsThreeState="True" | ||||
|                               VerticalAlignment="Top" HorizontalAlignment="Left" Margin="10,75,10,10" Grid.Column="0" Grid.ColumnSpan="2" | ||||
|                               Checked="GerebeltGewogenInput_Changed" Unchecked="GerebeltGewogenInput_Changed"/> | ||||
|                               Checked="GerebeltGewogenInput_Changed" Unchecked="GerebeltGewogenInput_Changed" Indeterminate="GerebeltGewogenInput_Changed"/> | ||||
|  | ||||
|                     <Button x:Name="WeighingAButton" Content="Wiegen A" Width="120" | ||||
|                             Click="WeighingButton_Click" | ||||
|   | ||||
| @@ -50,7 +50,7 @@ namespace Elwig.Windows { | ||||
|                 SortIdInput, WineVarietyInput, | ||||
|                 GradationOeInput, GradationKmwInput, WineQualityLevelInput, | ||||
|                 WineOriginInput, WineKgInput, | ||||
|                 WeightInput | ||||
|                 WeightInput, GerebeltGewogenInput, | ||||
|             ]; | ||||
|             ExemptInputs = [ | ||||
|                 SearchInput, SeasonInput, TodayOnlyInput, AllSeasonsInput, | ||||
| @@ -257,6 +257,7 @@ namespace Elwig.Windows { | ||||
|                 SetDefaultValue(GerebeltGewogenInput, true); | ||||
|             } else { | ||||
|                 GerebeltGewogenInput.IsEnabled = true; | ||||
|                 GerebeltGewogenInput.IsChecked = null; | ||||
|                 UnsetDefaultValue(GerebeltGewogenInput); | ||||
|             } | ||||
|  | ||||
| @@ -1380,6 +1381,9 @@ namespace Elwig.Windows { | ||||
|             if (!App.Client.HasNetWeighing(ViewModel.Branch)) { | ||||
|                 HandPickedInput.IsChecked = !GerebeltGewogenInput.IsChecked; | ||||
|             } | ||||
|             if (!ViewModel.IsReceipt || App.Client.HasNetWeighing(ViewModel.Branch)) { | ||||
|                 GerebeltGewogenInput.IsChecked ??= false; | ||||
|             } | ||||
|             CheckBox_Changed(sender, evt); | ||||
|         } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user