Compare commits
2 Commits
f4fa549130
...
6718ad4c8d
Author | SHA1 | Date | |
---|---|---|---|
6718ad4c8d | |||
a1d84dd988 |
@ -48,6 +48,7 @@ namespace Elwig.Services {
|
||||
var filterNotVar = new List<string>();
|
||||
var filterAttr = new List<string>();
|
||||
var filterNotAttr = new List<string>();
|
||||
var filterSeasons = new List<int>();
|
||||
|
||||
var filter = vm.TextFilter;
|
||||
if (filter.Count > 0) {
|
||||
@ -87,6 +88,10 @@ namespace Elwig.Services {
|
||||
filter.RemoveAt(i--);
|
||||
filterNames.Add($"ohne {var[e[1..3].ToUpper()].Name}");
|
||||
filterNames.Add($"ohne Attribut {attrId[e[3..].ToUpper()].Name}");
|
||||
} else if (e.Length == 4 && int.TryParse(e, out var year)) {
|
||||
filterSeasons.Add(year);
|
||||
filter.RemoveAt(i--);
|
||||
filterNames.Add($"laufend {e}");
|
||||
}
|
||||
}
|
||||
|
||||
@ -94,6 +99,7 @@ namespace Elwig.Services {
|
||||
if (filterNotVar.Count > 0) areaComQuery = areaComQuery.Where(a => !filterNotVar.Contains(a.AreaComType.WineVar.SortId));
|
||||
if (filterAttr.Count > 0) areaComQuery = areaComQuery.Where(a => a.AreaComType.WineAttr!.AttrId != null && filterAttr.Contains(a.AreaComType.WineAttr.AttrId));
|
||||
if (filterNotAttr.Count > 0) areaComQuery = areaComQuery.Where(a => a.AreaComType.WineAttr!.AttrId == null || !filterNotAttr.Contains(a.AreaComType.WineAttr.AttrId));
|
||||
foreach (var year in filterSeasons) areaComQuery = Utils.ActiveAreaCommitments(areaComQuery, year);
|
||||
}
|
||||
|
||||
return (filterNames, areaComQuery, filter);
|
||||
|
@ -212,6 +212,7 @@ namespace Elwig.Services {
|
||||
var filterLfbisNr = new List<string>();
|
||||
var filterUstIdNr = new List<string>();
|
||||
var filterAreaCom = new List<string>();
|
||||
var filterNotAreaCom = new List<string>();
|
||||
|
||||
var filter = vm.TextFilter;
|
||||
if (filter.Count > 0) {
|
||||
@ -314,10 +315,22 @@ namespace Elwig.Services {
|
||||
memberQuery = memberQuery.Where(m => m.TelephoneNumbers.Any(t => t.Number.Replace(" ", "").StartsWith(e)));
|
||||
filter.RemoveAt(i--);
|
||||
filterNames.Add($"Tel.-Nr. {e}");
|
||||
} else if (e.Length >= 5 && e.Length <= 14 && "flächenbindung".StartsWith(e, StringComparison.CurrentCultureIgnoreCase)) {
|
||||
filterAreaCom.AddRange(areaComs.Keys);
|
||||
filter.RemoveAt(i--);
|
||||
filterNames.Add($"Flächenbindung");
|
||||
} else if (e.Length >= 6 && e.Length <= 15 && "!flächenbindung".StartsWith(e, StringComparison.CurrentCultureIgnoreCase)) {
|
||||
filterNotAreaCom.AddRange(areaComs.Keys);
|
||||
filter.RemoveAt(i--);
|
||||
filterNames.Add($"keine Flächenbindung");
|
||||
} else if (areaComs.ContainsKey(e.ToUpper())) {
|
||||
filterAreaCom.Add(e.ToUpper());
|
||||
filter.RemoveAt(i--);
|
||||
filterNames.Add($"Flächenbindung {e.ToUpper()}");
|
||||
} else if (e.Length >= 3 && e[0] == '!' && areaComs.ContainsKey(e[1..].ToUpper())) {
|
||||
filterNotAreaCom.Add(e[1..].ToUpper());
|
||||
filter.RemoveAt(i--);
|
||||
filterNames.Add($"ohne Flächenbindung {e[1..].ToUpper()}");
|
||||
} else if (Validator.CheckLfbisNr(e)) {
|
||||
filterLfbisNr.Add(e);
|
||||
filter.RemoveAt(i--);
|
||||
@ -337,6 +350,7 @@ namespace Elwig.Services {
|
||||
if (filterKgNr.Count > 0) memberQuery = memberQuery.Where(m => m.DefaultKgNr != null && filterKgNr.Contains((int)m.DefaultKgNr));
|
||||
if (filterZwst.Count > 0) memberQuery = memberQuery.Where(m => m.ZwstId != null && filterZwst.Contains(m.ZwstId));
|
||||
if (filterAreaCom.Count > 0) memberQuery = memberQuery.Where(m => m.AreaCommitments.AsQueryable().Where(Utils.ActiveAreaCommitments()).Any(c => filterAreaCom.Contains(c.VtrgId)));
|
||||
if (filterNotAreaCom.Count > 0) memberQuery = memberQuery.Where(m => !m.AreaCommitments.AsQueryable().Where(Utils.ActiveAreaCommitments()).All(c => filterNotAreaCom.Contains(c.VtrgId)));
|
||||
if (filterLfbisNr.Count > 0) memberQuery = memberQuery.Where(m => m.LfbisNr != null && filterLfbisNr.Contains(m.LfbisNr));
|
||||
if (filterUstIdNr.Count > 0) memberQuery = memberQuery.Where(m => m.UstIdNr != null && filterUstIdNr.Contains(m.UstIdNr));
|
||||
}
|
||||
|
@ -88,8 +88,9 @@
|
||||
<LineBreak/>
|
||||
Filtern nach:<LineBreak/>
|
||||
<Bold>Sorte</Bold>: z.B. GV, zw, RR, ...<LineBreak/>
|
||||
<Bold>Attribut</Bold>: z.B. Kabinett, dac, ... <LineBreak/>
|
||||
<Bold>Flächenbindung</Bold>: z.B. GVK, GVD, ...
|
||||
<Bold>Attribut</Bold>: z.B. Kabinett, dac, ...<LineBreak/>
|
||||
<Bold>Flächenbindung</Bold>: z.B. GVK, GVD, ...<LineBreak/>
|
||||
<Bold>Saison</Bold>: z.B. 2020, 2019... (in dieser Saison aktiv)
|
||||
</TextBlock>
|
||||
</TextBox.ToolTip>
|
||||
</TextBox>
|
||||
|
@ -201,7 +201,7 @@
|
||||
<Bold>Telefon-Nr.</Bold>: z.B. +436641234, ....<LineBreak/>
|
||||
<Bold>Kontaktdaten</Bold>: email (mind. 1 E-Mail-Adr.), telnr (mind. 1 Tel.-Nr.), !email (keine E-Mail-Adr.), !telnr (keine Tel.-Nr.)<LineBreak/>
|
||||
<Bold>Kontaktart</Bold>: kontakt:email, kontakt:post, !kontakt:email, !kontakt:post<LineBreak/>
|
||||
<Bold>Flächenbindungen</Bold>: z.B. zw, GVK, WRB, ... (Mitglieder mit aktiven Flächenbindungen)<LineBreak/>
|
||||
<Bold>Flächenbindungen</Bold>: z.B. zw, GVK, WRB, Fläch[enbindung], !GVK, ... (Mitglieder mit aktiven Flächenbindungen)<LineBreak/>
|
||||
<Bold>Freitext</Bold>: z.B. Rechnungsaddresse, Anmerkung, "matzen" (sucht nach dem Text "matzen")
|
||||
</TextBlock>
|
||||
</TextBox.ToolTip>
|
||||
|
Reference in New Issue
Block a user