diff --git a/Elwig/Helpers/AppDbUpdater.cs b/Elwig/Helpers/AppDbUpdater.cs index ca5179d..8ffc35f 100644 --- a/Elwig/Helpers/AppDbUpdater.cs +++ b/Elwig/Helpers/AppDbUpdater.cs @@ -154,6 +154,8 @@ namespace Elwig.Helpers { ExecuteNonQuery(cnx, "ALTER TABLE payment_variant DROP COLUMN bucket_8_name"); ExecuteNonQuery(cnx, "ALTER TABLE payment_variant DROP COLUMN bucket_9_name"); + ExecuteNonQuery(cnx, "ALTER TABLE delivery_part ADD COLUMN gebunden INTEGER CHECK (gebunden IN (TRUE, FALSE)) DEFAULT NULL"); + ExecuteNonQuery(cnx, "DROP VIEW v_delivery"); ExecuteNonQuery(cnx, """ CREATE VIEW v_delivery AS @@ -162,6 +164,7 @@ namespace Elwig.Helpers { d.date, d.time, d.zwstid, d.lnr, d.lsnr, m.mgnr, m.family_name, m.given_name, p.sortid, p.weight, p.kmw, ROUND(p.kmw * (4.54 + 0.022 * p.kmw), 0) AS oe, p.qualid, p.hkid, p.kgnr, p.rdnr, + p.gerebelt, p.gebunden, p.qualid IN (SELECT l.qualid FROM wine_quality_level l WHERE NOT l.predicate AND (p.kmw >= l.min_kmw OR l.min_kmw IS NULL) ORDER BY l.min_kmw DESC LIMIT 1,100) AS abgewertet, p.qualid NOT IN ('WEI', 'RSW', 'LDW') AS min_quw, GROUP_CONCAT(a.attrid) AS attributes, @@ -174,8 +177,8 @@ namespace Elwig.Helpers { LEFT JOIN wine_attribute a ON a.attrid = pa.attrid GROUP BY p.year, p.did, p.dpnr) s LEFT JOIN delivery_part_modifier o ON (o.year, o.did, o.dpnr) = (s.year, s.did, s.dpnr) - GROUP BY s.year, s.did, s.dpnr - ORDER BY s.year, s.did, s.dpnr; + GROUP BY s.year, s.lsnr, s.dpnr + ORDER BY s.year, s.lsnr, s.dpnr; """); ExecuteNonQuery(cnx, "DROP VIEW v_bucket"); diff --git a/Elwig/Models/DeliveryPart.cs b/Elwig/Models/DeliveryPart.cs index eb4d112..f285429 100644 --- a/Elwig/Models/DeliveryPart.cs +++ b/Elwig/Models/DeliveryPart.cs @@ -75,6 +75,9 @@ namespace Elwig.Models { [Column("lesewagen")] public bool? IsLesewagen { get; set; } + [Column("gebunden")] + public bool? IsGebunden { get; set; } + [Column("temperature")] public double? Temperature { get; set; } diff --git a/Elwig/Windows/DeliveryAdminWindow.xaml b/Elwig/Windows/DeliveryAdminWindow.xaml index 98ef229..d10bc79 100644 --- a/Elwig/Windows/DeliveryAdminWindow.xaml +++ b/Elwig/Windows/DeliveryAdminWindow.xaml @@ -438,6 +438,10 @@ <Label Content="Ried:" Margin="10,70,0,10" Grid.Column="0"/> <ComboBox x:Name="WineRdInput" Margin="0,70,10,10" Grid.Column="1" DisplayMemberPath="Name"/> + + <CheckBox x:Name="GebundenInput" Content="Gebunden" Margin="10,105,0,0" Grid.Column="0" Grid.ColumnSpan="2" IsThreeState="True" + VerticalAlignment="Top" HorizontalAlignment="Left" + Checked="CheckBox_Changed" Unchecked="CheckBox_Changed"/> </Grid> </GroupBox> </Grid> diff --git a/Elwig/Windows/DeliveryAdminWindow.xaml.cs b/Elwig/Windows/DeliveryAdminWindow.xaml.cs index 49f925c..cb1031b 100644 --- a/Elwig/Windows/DeliveryAdminWindow.xaml.cs +++ b/Elwig/Windows/DeliveryAdminWindow.xaml.cs @@ -227,6 +227,15 @@ namespace Elwig.Windows { GerebeltGewogenInput.IsEnabled = true; UnsetDefaultValue(GerebeltGewogenInput); } + if (App.Client.IsMatzen || App.Client.IsWinzerkeller) { + GebundenInput.IsChecked = null; + GebundenInput.IsEnabled = false; + SetDefaultValue(GebundenInput); + } else { + GebundenInput.IsChecked = null; + GebundenInput.IsEnabled = true; + UnsetDefaultValue(GebundenInput); + } WineQualityLevelInput.IsEnabled = false; @@ -702,6 +711,7 @@ namespace Elwig.Windows { AcidInput.Text = (p != null && p.Acid != null) ? $"{p.Acid:N1}" : ""; LesewagenInput.IsChecked = p?.IsLesewagen ?? false; HandPickedInput.IsChecked = p?.IsHandPicked; + GebundenInput.IsChecked = p?.IsGebunden; ScaleId = p?.ScaleId; WeighingId = p?.WeighingId; @@ -759,6 +769,7 @@ namespace Elwig.Windows { p.IsGerebelt = GerebeltGewogenInput.IsChecked ?? false; p.IsHandPicked = HandPickedInput.IsChecked; p.IsLesewagen = LesewagenInput.IsChecked; + p.IsGebunden = GebundenInput.IsChecked; p.Temperature = (TemperatureInput.Text == "") ? null : double.Parse(TemperatureInput.Text); p.Acid = (AcidInput.Text == "") ? null : double.Parse(AcidInput.Text); p.Comment = (PartCommentInput.Text == "") ? null : PartCommentInput.Text;