From e3cb20366cf808c1f9c640e8e3f3d348d9eeb5ad Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Tue, 26 Mar 2024 16:55:40 +0100 Subject: [PATCH] [#12] DeliveryAdminWindow: Improve filters --- Elwig/Windows/DeliveryAdminWindow.xaml | 4 +++ Elwig/Windows/DeliveryAdminWindow.xaml.cs | 40 +++++++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/Elwig/Windows/DeliveryAdminWindow.xaml b/Elwig/Windows/DeliveryAdminWindow.xaml index 1aa9005..794a63b 100644 --- a/Elwig/Windows/DeliveryAdminWindow.xaml +++ b/Elwig/Windows/DeliveryAdminWindow.xaml @@ -110,6 +110,10 @@ Bewirtschaftung: z.B. bio, !kip (alle außer KIP), ... Datum: z.B. 1.9., 15.9.-10.10., -15.10.2020, ... Uhrzeit: z.B. 06:00-08:00, 18:00-, ... + Handwiegung: handw[iegung], !Handw[iegung] (alle ohne Handwiegung) + Handlese: Handl[ese], !handl[ese] (alle ohne Handlese) + Gebunden: geb[unden], ungeb[unden], !geb[unden], !ungeb[unden] + Brutto/Netto Wiegung: bto, Brut[to], nto, Net[to], gerebelt, !Gerebelt Freitext: z.B. Lieferscheinnummern, Anmerkung, "quw" (sucht nach dem Text "quw") diff --git a/Elwig/Windows/DeliveryAdminWindow.xaml.cs b/Elwig/Windows/DeliveryAdminWindow.xaml.cs index 4cd71a7..d2f6d59 100644 --- a/Elwig/Windows/DeliveryAdminWindow.xaml.cs +++ b/Elwig/Windows/DeliveryAdminWindow.xaml.cs @@ -401,6 +401,46 @@ namespace Elwig.Windows { filterVar.AddRange(var.Values.Where(v => v.IsWhite).Select(v => v.SortId)); filter.RemoveAt(i--); filterNames.Add("Weißweinsorten"); + } else if (e.Length >= 3 && e.Length <= 8 && "gebunden".StartsWith(e, StringComparison.CurrentCultureIgnoreCase)) { + prd = prd.And(p => p.IsGebunden == true); + filter.RemoveAt(i--); + filterNames.Add("gebunden"); + } else if (e.Length >= 4 && e.Length <= 9 && "!gebunden".StartsWith(e, StringComparison.CurrentCultureIgnoreCase)) { + prd = prd.And(p => p.IsGebunden == false); + filter.RemoveAt(i--); + filterNames.Add("ungebunden"); + } else if (e.Length >= 5 && e.Length <= 10 && "ungebunden".StartsWith(e, StringComparison.CurrentCultureIgnoreCase)) { + prd = prd.And(p => p.IsGebunden == false); + filter.RemoveAt(i--); + filterNames.Add("ungebunden"); + } else if (e.Length >= 6 && e.Length <= 11 && "!ungebunden".StartsWith(e, StringComparison.CurrentCultureIgnoreCase)) { + prd = prd.And(p => p.IsGebunden == true); + filter.RemoveAt(i--); + filterNames.Add("gebunden"); + } else if (e.Length >= 5 && e.Length <= 8 && "handlese".StartsWith(e, StringComparison.CurrentCultureIgnoreCase)) { + prd = prd.And(p => p.IsHandPicked == true); + filter.RemoveAt(i--); + filterNames.Add("Handlese"); + } else if (e.Length >= 6 && e.Length <= 9 && "!handlese".StartsWith(e, StringComparison.CurrentCultureIgnoreCase)) { + prd = prd.And(p => p.IsHandPicked == false); + filter.RemoveAt(i--); + filterNames.Add("keine Handlese"); + } else if (e.Length >= 5 && e.Length <= 11 && "handwiegung".StartsWith(e, StringComparison.CurrentCultureIgnoreCase)) { + prd = prd.And(p => p.IsManualWeighing == true); + filter.RemoveAt(i--); + filterNames.Add("Handwiegung"); + } else if (e.Length >= 6 && e.Length <= 12 && "!handwiegung".StartsWith(e, StringComparison.CurrentCultureIgnoreCase)) { + prd = prd.And(p => p.IsManualWeighing == false); + filter.RemoveAt(i--); + filterNames.Add("keine Handwiegung"); + } else if (e.ToLower() is "bto" or "brut" or "brutt" or "brutto" or "!gerebelt") { + prd = prd.And(p => p.IsNetWeight == false); + filter.RemoveAt(i--); + filterNames.Add("brutto Wiegung"); + } else if (e.ToLower() is "nto" or "net" or "nett" or "netto" or "gerebelt") { + prd = prd.And(p => p.IsNetWeight == true); + filter.RemoveAt(i--); + filterNames.Add("netto Wiegung"); } else if (e.Length == 2 && var.ContainsKey(e.ToUpper())) { filterVar.Add(e.ToUpper()); filter.RemoveAt(i--);