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")