DeliveryPart: Add Unloading type instead of IsLesewagen
All checks were successful
Test / Run tests (push) Successful in 1m54s

This commit is contained in:
2025-12-12 12:34:57 +01:00
parent f228ba3019
commit bf6297f63b
9 changed files with 159 additions and 40 deletions

View File

@@ -369,8 +369,9 @@
<Grid Grid.Row="1" Grid.Column="2">
<Grid.RowDefinitions>
<RowDefinition Height="0.625*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="0.875*"/>
<RowDefinition Height="0.875*"/>
<RowDefinition Height="0.25*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
@@ -404,7 +405,7 @@
</Grid>
</GroupBox>
<GroupBox Header="Lieferung" Grid.Column="0" Grid.Row="1" Grid.RowSpan="2" Margin="5,5,5,5">
<GroupBox Header="Lieferung" Grid.Column="0" Grid.Row="1" Grid.RowSpan="3" Margin="5,5,5,5">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
@@ -563,7 +564,7 @@
</Grid>
</GroupBox>
<GroupBox Header="Sonstiges" Grid.Column="1" Grid.Row="3" Margin="5,5,5,10">
<GroupBox Header="Sonstiges" Grid.Column="1" Grid.Row="3" Grid.RowSpan="2" Margin="5,5,5,10">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
@@ -592,18 +593,31 @@
TextChanged="TemperatureAcidInput_TextChanged" LostFocus="TemperatureAcidInput_LostFocus"
Grid.Column="1" Margin="0,100,10,10" VerticalAlignment="Top"/>
<CheckBox x:Name="LesewagenInput" IsChecked="{Binding IsLesewagen, Mode=TwoWay}"
Content="Lesewagen" Margin="10,75,0,0" Grid.Column="2"
VerticalAlignment="Top" HorizontalAlignment="Left"
Checked="LesewagenInput_Changed" Unchecked="LesewagenInput_Changed"/>
<CheckBox x:Name="HandPickedInput" IsChecked="{Binding IsHandPicked, Mode=TwoWay}"
Content="Handlese" Margin="10,105,0,0" Grid.Column="2" IsThreeState="True"
Content="Handlese" Margin="10,135,10,0" Grid.Column="0" Grid.ColumnSpan="2" IsThreeState="True"
VerticalAlignment="Top" HorizontalAlignment="Left"
Checked="HandPickedInput_Changed" Unchecked="HandPickedInput_Changed" Indeterminate="HandPickedInput_Changed"/>
<RadioButton x:Name="UnloadingDumperInput" GroupName="Unloading" IsChecked="{Binding IsUnloadingDumper, Mode=TwoWay}"
Content="Planenw./Kipper" Margin="10,75,0,0" Grid.Column="2"
VerticalAlignment="Top" HorizontalAlignment="Left"
Checked="UnloadingInput_Checked" Unchecked="UnloadingInput_Unchecked"/>
<RadioButton x:Name="UnloadingPumpedInput" GroupName="Unloading" IsChecked="{Binding IsUnloadingPumped, Mode=TwoWay}"
Content="Lesewagen" Margin="10,95,0,0" Grid.Column="2"
VerticalAlignment="Top" HorizontalAlignment="Left"
Checked="UnloadingInput_Checked" Unchecked="UnloadingInput_Unchecked"/>
<RadioButton x:Name="UnloadingBoxInput" GroupName="Unloading" IsChecked="{Binding IsUnloadingBox, Mode=TwoWay}"
Content="Kiste(n)" Margin="10,115,0,0" Grid.Column="2"
VerticalAlignment="Top" HorizontalAlignment="Left"
Checked="UnloadingInput_Checked" Unchecked="UnloadingInput_Unchecked"/>
<RadioButton x:Name="UnloadingOtherInput" GroupName="Unloading" IsChecked="{Binding IsUnloadingOther, Mode=TwoWay}"
Content="Andere/Unbek." Margin="10,135,0,0" Grid.Column="2"
VerticalAlignment="Top" HorizontalAlignment="Left"
Checked="UnloadingInput_Checked" Unchecked="UnloadingInput_Unchecked"/>
</Grid>
</GroupBox>
<GroupBox Header="Herkunft" Grid.Column="0" Grid.Row="3" Margin="5,5,5,10">
<GroupBox Header="Herkunft" Grid.Column="0" Grid.Row="4" Margin="5,5,5,10">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>

View File

@@ -320,11 +320,16 @@ namespace Elwig.Windows {
}
if (App.Config.WeighingMode == WeighingMode.Box) {
LesewagenInput.IsEnabled = false;
SetDefaultValue(LesewagenInput, false);
SetDefaultValue(UnloadingDumperInput, false);
SetDefaultValue(UnloadingPumpedInput, false);
SetDefaultValue(UnloadingBoxInput, true);
SetDefaultValue(UnloadingOtherInput, false);
UnloadingBoxInput.IsChecked = true;
} else {
LesewagenInput.IsEnabled = true;
UnsetDefaultValue(LesewagenInput);
UnsetDefaultValue(UnloadingDumperInput);
UnsetDefaultValue(UnloadingPumpedInput);
UnsetDefaultValue(UnloadingBoxInput);
UnsetDefaultValue(UnloadingOtherInput);
}
if (App.Config.WeighingMode != WeighingMode.Net) {
@@ -354,8 +359,8 @@ namespace Elwig.Windows {
ClearDefaultValues();
ViewModel.IsNetWeight = App.Config.WeighingMode == WeighingMode.Net;
ViewModel.IsLesewagen = false;
ViewModel.IsHandPicked = App.Config.WeighingMode != WeighingMode.Net ? true : null;
ViewModel.Unloading = null;
ViewModel.IsGebunden = null;
InitialDefaultInputs();
@@ -1326,6 +1331,7 @@ namespace Elwig.Windows {
private void ModifiersInput_SelectionChanged(object sender, SelectionChangedEventArgs evt) {
if (!IsEditing && !IsCreating) return;
var mod = ModifiersInput.SelectedItems.Cast<Modifier>().ToList();
var source = ModifiersInput.ItemsSource.Cast<Modifier>().ToList();
if (App.Client.IsMatzen) {
var kl = mod.Where(m => m.Name.StartsWith("Klasse "));
if (kl.Count() > 1) {
@@ -1334,33 +1340,64 @@ namespace Elwig.Windows {
ModifiersInput.SelectedItems.Remove(r);
});
}
} else if (App.Client.IsWinzerkeller) {
}
if (source.Any(m => m.Name.Contains("Lesewagen"))) {
if (mod.Any(m => m.Name.Contains("Lesewagen"))) {
ViewModel.IsLesewagen = true;
ViewModel.IsUnloadingPumped = true;
} else {
ViewModel.IsLesewagen = false;
ViewModel.IsUnloadingPumped = false;
}
}
if (source.Any(m => m.Name.Contains("Kiste"))) {
if (mod.Any(m => m.Name.Contains("Kiste"))) {
ViewModel.IsUnloadingBox = true;
} else {
ViewModel.IsUnloadingBox = false;
}
}
}
private void LesewagenInput_Changed(object sender, RoutedEventArgs evt) {
private void UnloadingInput_Checked(object sender, RoutedEventArgs evt) {
if (!IsEditing && !IsCreating) return;
var mod = ModifiersInput.SelectedItems.Cast<Modifier>().ToList();
var source = ModifiersInput.ItemsSource.Cast<Modifier>().ToList();
var lw = LesewagenInput.IsChecked == true;
if (App.Client.IsMatzen) {
var kl = mod.Where(m => m.Name.StartsWith("Klasse ")).Select(m => m.ModId).LastOrDefault("A")[0];
if (lw) kl++; else kl--;
var newKl = source.FirstOrDefault(m => m.ModId == kl.ToString());
var kl = mod.Where(m => m.Name.StartsWith("Klasse ")).Select(m => m.ModId).LastOrDefault("_")[0];
if (ViewModel.IsUnloadingPumped && (kl == 'A' || kl == '_')) {
kl = 'B';
} else if (kl == 'B' && !ViewModel.IsUnloadingPumped) {
kl = 'A';
} else if (ViewModel.IsUnloadingDumper && (kl == 'B' || kl == '_')) {
kl = 'A';
} else {
kl = '_';
}
var newKl = source.FirstOrDefault(m => m?.ModId == kl.ToString(), null);
if (newKl != null) ModifiersInput.SelectedItems.Add(newKl);
} else if (App.Client.IsWinzerkeller) {
if (lw && !mod.Any(m => m.Name.Contains("Lesewagen"))) {
}
if (source.Any(m => m.Name.Contains("Lesewagen"))) {
if (ViewModel.IsUnloadingPumped && !mod.Any(m => m.Name.Contains("Lesewagen"))) {
ModifiersInput.SelectedItems.Add(source.First(m => m.Name.Contains("Lesewagen")));
} else if (!lw && mod.Any(m => m.Name.Contains("Lesewagen"))) {
} else if (!ViewModel.IsUnloadingPumped && mod.Any(m => m.Name.Contains("Lesewagen"))) {
ModifiersInput.SelectedItems.Remove(mod.First(m => m.Name.Contains("Lesewagen")));
}
}
CheckBox_Changed(sender, evt);
if (source.Any(m => m.Name.Contains("Kiste"))) {
if (ViewModel.IsUnloadingBox && !mod.Any(m => m.Name.Contains("Kiste"))) {
ModifiersInput.SelectedItems.Add(source.First(m => m.Name.Contains("Kiste")));
} else if (!ViewModel.IsUnloadingBox && mod.Any(m => m.Name.Contains("Kiste"))) {
ModifiersInput.SelectedItems.Remove(mod.First(m => m.Name.Contains("Kiste")));
}
}
RadioButton_Changed(sender, evt);
}
private void UnloadingInput_Unchecked(object sender, RoutedEventArgs evt) {
if (!IsEditing && !IsCreating) return;
RadioButton_Changed(sender, evt);
}
private void UpdateWineOrigin() {