DeliveryAdminWindow: Allow to exclude varieties from filter

This commit is contained in:
2023-10-03 22:58:13 +02:00
parent d5e4e0a29d
commit 8f2f5b28cf
2 changed files with 7 additions and 1 deletions

View File

@ -294,6 +294,7 @@ namespace Elwig.Windows {
.ThenBy(p => p.DPNr);
var filterVar = new List<string>();
var filterNotVar = new List<string>();
var filterQual = new List<string>();
var filterMgNr = new List<int>();
var filterZwst = new List<string>();
@ -319,6 +320,10 @@ namespace Elwig.Windows {
filterVar.Add(e.ToUpper());
filter.RemoveAt(i--);
filterNames.Add(var[e.ToUpper()].Name);
} else if (e.Length == 3 && e[0] == '!' && var.ContainsKey(e[1..].ToUpper())) {
filterNotVar.Add(e[1..].ToUpper());
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());
filter.RemoveAt(i--);
@ -455,6 +460,7 @@ namespace Elwig.Windows {
dpq = dpq.Where(p => p.Delivery.TimeString != null).Where(pr);
}
if (filterVar.Count > 0) dpq = dpq.Where(p => filterVar.Contains(p.SortId));
if (filterNotVar.Count > 0) dpq = dpq.Where(p => !filterNotVar.Contains(p.SortId));
if (filterQual.Count > 0) dpq = dpq.Where(p => filterQual.Contains(p.QualId));
if (filterZwst.Count > 0) dpq = dpq.Where(p => filterZwst.Contains(p.Delivery.ZwstId));
if (filterAttr.Count > 0)