diff --git a/Elwig/Services/MemberService.cs b/Elwig/Services/MemberService.cs
index 157ceab..6d62307 100644
--- a/Elwig/Services/MemberService.cs
+++ b/Elwig/Services/MemberService.cs
@@ -227,6 +227,38 @@ namespace Elwig.Services {
memberQuery = memberQuery.Where(m => m.IsBuchführend);
filter.RemoveAt(i--);
filterNames.Add("buchführend");
+ } else if (e.Equals("email", StringComparison.CurrentCultureIgnoreCase)) {
+ memberQuery = memberQuery.Where(m => m.EmailAddresses.Count > 0);
+ filter.RemoveAt(i--);
+ filterNames.Add("mind. eine E-Mail-Adresse");
+ } else if (e.Equals("!email", StringComparison.CurrentCultureIgnoreCase)) {
+ memberQuery = memberQuery.Where(m => m.EmailAddresses.Count == 0);
+ filter.RemoveAt(i--);
+ filterNames.Add("keine E-Mail-Adresse");
+ } else if (e.Equals("telnr", StringComparison.CurrentCultureIgnoreCase)) {
+ memberQuery = memberQuery.Where(m => m.TelephoneNumbers.Count > 0);
+ filter.RemoveAt(i--);
+ filterNames.Add("mind. eine Tel.-Nr.");
+ } else if (e.Equals("!telnr", StringComparison.CurrentCultureIgnoreCase)) {
+ memberQuery = memberQuery.Where(m => m.TelephoneNumbers.Count == 0);
+ filter.RemoveAt(i--);
+ filterNames.Add("keine Tel.-Nr.");
+ } else if (e.Equals("kontakt:email", StringComparison.CurrentCultureIgnoreCase)) {
+ memberQuery = memberQuery.Where(m => m.ContactViaEmail);
+ filter.RemoveAt(i--);
+ filterNames.Add("Kontaktart E-Mail");
+ } else if (e.Equals("!kontakt:email", StringComparison.CurrentCultureIgnoreCase)) {
+ memberQuery = memberQuery.Where(m => !m.ContactViaEmail);
+ filter.RemoveAt(i--);
+ filterNames.Add("nicht Kontaktart E-Mail");
+ } else if (e.Equals("kontakt:post", StringComparison.CurrentCultureIgnoreCase)) {
+ memberQuery = memberQuery.Where(m => m.ContactViaPost);
+ filter.RemoveAt(i--);
+ filterNames.Add("Kontaktart Post");
+ } else if (e.Equals("!kontakt:post", StringComparison.CurrentCultureIgnoreCase)) {
+ memberQuery = memberQuery.Where(m => !m.ContactViaPost);
+ filter.RemoveAt(i--);
+ filterNames.Add("nicht Kontaktart Post");
} else if (e.All(char.IsAsciiDigit) && mgnr.ContainsKey(e)) {
filterMgNr.Add(int.Parse(e));
filter.RemoveAt(i--);
diff --git a/Elwig/Windows/MemberAdminWindow.xaml b/Elwig/Windows/MemberAdminWindow.xaml
index beb4a7b..78fa1bb 100644
--- a/Elwig/Windows/MemberAdminWindow.xaml
+++ b/Elwig/Windows/MemberAdminWindow.xaml
@@ -159,6 +159,8 @@
Volllieferant: voll[lieferant], !Voll[lieferant] (nicht-Volllieferant)
Funktionär: Funkt[ionär], !funkt[ionär] (nicht-Funktionär)
Telefon-Nr.: z.B. +436641234, ....
+ Kontaktdaten: email (mind. 1 E-Mail-Adr.), telnr (mind. 1 Tel.-Nr.), !email (keine E-Mail-Adr.), !telnr (keine Tel.-Nr.)
+ Kontaktart: kontakt:email, kontakt:post, !kontakt:email, !kontakt:post
Flächenbindungen: z.B. zw, GVK, WRB, ... (Mitglieder mit aktiven Flächenbindungen)
Freitext: z.B. Rechnungsaddresse, Anmerkung, "matzen" (sucht nach dem Text "matzen")