diff --git a/Elwig/Windows/DeliveryAdminWindow.xaml b/Elwig/Windows/DeliveryAdminWindow.xaml index 001149e..fe6bfb3 100644 --- a/Elwig/Windows/DeliveryAdminWindow.xaml +++ b/Elwig/Windows/DeliveryAdminWindow.xaml @@ -101,12 +101,12 @@ Filtern nach: Sorte: z.B. GV, ZW, rr, sa, !gv (ausgenommen GV), ... Rot/Weiß: z.B. r, Rot, w, weiß, ... - Qualitätsstufe: z.B. QUW, kab, !ldw (ausgenommen LDW), ... + Qualitätsstufe: z.B. QUW, kab, !ldw (ausgenommen LDW), abgew[ertet], ... Gradation: z.B. >73, <15, 17-18, 15-, >17,5, 62-75, ... Mitglied: z.B. 1234, 987, ... Saison: z.B. 2020, >2015, 2017-2019, <2005, 2019-, ... Zweigstelle: z.B. musterort, ... - Attribute: z.B. kabinett, !kabinett (alle außer kabinett), ... + Attribut: z.B. kabinett, !kabinett (alle außer kabinett), ... Datum: z.B. 1.9., 15.9.-10.10., -15.10.2020, ... Uhrzeit: z.B. 06:00-08:00, 18:00-, ... 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 b02eaeb..3351827 100644 --- a/Elwig/Windows/DeliveryAdminWindow.xaml.cs +++ b/Elwig/Windows/DeliveryAdminWindow.xaml.cs @@ -365,13 +365,23 @@ namespace Elwig.Windows { filter.RemoveAt(i--); filterNames.Add("außer " + var[e[1..].ToUpper()].Name); } else if (e.Length == 3 && qual.ContainsKey(e.ToUpper())) { - filterQual.Add(e.ToUpper()); + var qualId = e.ToUpper(); + filterQual.Add(qualId); filter.RemoveAt(i--); - filterNames.Add(qual[e.ToUpper()].Name); + filterNames.Add(qualId == "WEI" ? "abgewertet" : qual[e.ToUpper()].Name); } else if (e[0] == '!' && qual.ContainsKey(e[1..].ToUpper())) { - filterNotQual.Add(e[1..].ToUpper()); + var qualId = e[1..].ToUpper(); + filterNotQual.Add(qualId); filter.RemoveAt(i--); - filterNames.Add("außer " + qual[e[1..].ToUpper()].Name); + filterNames.Add(qualId == "WEI" ? "nicht abgewertet" : "außer " + qual[e[1..].ToUpper()].Name); + } else if (e.Length >= 5 && e.Length <= 10 && "abgewertet".StartsWith(e, StringComparison.CurrentCultureIgnoreCase)) { + filterQual.Add("WEI"); + filter.RemoveAt(i--); + filterNames.Add("abgewertet"); + } else if (e.Length >= 6 && e.Length <= 11 && "!abgewertet".StartsWith(e, StringComparison.CurrentCultureIgnoreCase)) { + filterNotQual.Add("WEI"); + filter.RemoveAt(i--); + filterNames.Add("nicht abgewertet"); } else if (e.All(char.IsAsciiDigit) && mgnr.TryGetValue(e, out var member)) { filterMgNr.Add(int.Parse(e)); filter.RemoveAt(i--);