DeliveryAdminWindow: Allow to exclude varieties from filter
This commit is contained in:
@ -92,7 +92,7 @@
|
|||||||
|
|
||||||
<TextBox x:Name="SearchInput" Grid.ColumnSpan="3" Margin="5,10,161,0" IsReadOnly="False"
|
<TextBox x:Name="SearchInput" Grid.ColumnSpan="3" Margin="5,10,161,0" IsReadOnly="False"
|
||||||
TextChanged="SearchInput_TextChanged"
|
TextChanged="SearchInput_TextChanged"
|
||||||
ToolTip="Lieferungen filtern und durchsuchen. Die Filter sind beliebig kombinierbar.

Filtern nach:
Sorte: z.B. GV, ZW, rr, sa, ...
Qualitätsstufe: z.B. QUW, kab, ldw, ...
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), ...
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, "quw" (sucht nach dem Text "quw")"/>
|
ToolTip="Lieferungen filtern und durchsuchen. Die Filter sind beliebig kombinierbar.

Filtern nach:
Sorte: z.B. GV, ZW, rr, sa, !gv (ausgenommen GV), ...
Qualitätsstufe: z.B. QUW, kab, ldw, ...
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), ...
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, "quw" (sucht nach dem Text "quw")"/>
|
||||||
<xctk:IntegerUpDown Name="SeasonInput" Grid.ColumnSpan="3" Height="25" Width="56" FontSize="14" Minimum="1000" Maximum="9999"
|
<xctk:IntegerUpDown Name="SeasonInput" Grid.ColumnSpan="3" Height="25" Width="56" FontSize="14" Minimum="1000" Maximum="9999"
|
||||||
Margin="0,10,100,0" VerticalAlignment="Top" HorizontalAlignment="Right"
|
Margin="0,10,100,0" VerticalAlignment="Top" HorizontalAlignment="Right"
|
||||||
ValueChanged="SeasonInput_ValueChanged"/>
|
ValueChanged="SeasonInput_ValueChanged"/>
|
||||||
|
@ -294,6 +294,7 @@ namespace Elwig.Windows {
|
|||||||
.ThenBy(p => p.DPNr);
|
.ThenBy(p => p.DPNr);
|
||||||
|
|
||||||
var filterVar = new List<string>();
|
var filterVar = new List<string>();
|
||||||
|
var filterNotVar = new List<string>();
|
||||||
var filterQual = new List<string>();
|
var filterQual = new List<string>();
|
||||||
var filterMgNr = new List<int>();
|
var filterMgNr = new List<int>();
|
||||||
var filterZwst = new List<string>();
|
var filterZwst = new List<string>();
|
||||||
@ -319,6 +320,10 @@ namespace Elwig.Windows {
|
|||||||
filterVar.Add(e.ToUpper());
|
filterVar.Add(e.ToUpper());
|
||||||
filter.RemoveAt(i--);
|
filter.RemoveAt(i--);
|
||||||
filterNames.Add(var[e.ToUpper()].Name);
|
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())) {
|
} else if (e.Length == 3 && qual.ContainsKey(e.ToUpper())) {
|
||||||
filterQual.Add(e.ToUpper());
|
filterQual.Add(e.ToUpper());
|
||||||
filter.RemoveAt(i--);
|
filter.RemoveAt(i--);
|
||||||
@ -455,6 +460,7 @@ namespace Elwig.Windows {
|
|||||||
dpq = dpq.Where(p => p.Delivery.TimeString != null).Where(pr);
|
dpq = dpq.Where(p => p.Delivery.TimeString != null).Where(pr);
|
||||||
}
|
}
|
||||||
if (filterVar.Count > 0) dpq = dpq.Where(p => filterVar.Contains(p.SortId));
|
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 (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 (filterZwst.Count > 0) dpq = dpq.Where(p => filterZwst.Contains(p.Delivery.ZwstId));
|
||||||
if (filterAttr.Count > 0)
|
if (filterAttr.Count > 0)
|
||||||
|
Reference in New Issue
Block a user