diff --git a/Elwig/Services/DeliveryService.cs b/Elwig/Services/DeliveryService.cs index dfb98e5..9d63fda 100644 --- a/Elwig/Services/DeliveryService.cs +++ b/Elwig/Services/DeliveryService.cs @@ -218,6 +218,22 @@ namespace Elwig.Services { prd = prd.And(p => p.Unloading != DeliveryPart.Box); filter.RemoveAt(i--); filterNames.Add("keine Kisten"); + } else if ("upload".StartsWith(e, StringComparison.CurrentCultureIgnoreCase)) { + prd = prd.And(p => (p.Delivery.XTime == null || p.Delivery.MTime > p.Delivery.XTime) && (p.Delivery.ITime == null || p.Delivery.MTime > p.Delivery.ITime)); + filter.RemoveAt(i--); + filterNames.Add("geändert seit letztem Export"); + } else if ("!upload".StartsWith(e, StringComparison.CurrentCultureIgnoreCase)) { + prd = prd.And(p => !((p.Delivery.XTime == null || p.Delivery.MTime > p.Delivery.XTime) && (p.Delivery.ITime == null || p.Delivery.MTime > p.Delivery.ITime))); + filter.RemoveAt(i--); + filterNames.Add("unverändert seit letztem Export"); + } else if (">import".StartsWith(e, StringComparison.CurrentCultureIgnoreCase)) { + prd = prd.And(p => p.ITime != null && p.Delivery.MTime > p.Delivery.ITime); + filter.RemoveAt(i--); + filterNames.Add("geändert seit letztem Import"); + } else if (" p.Delivery.MTime <= p.Delivery.ITime); + filter.RemoveAt(i--); + filterNames.Add("unverändert seit letztem Import"); } else if (e.Length == 2 && var.ContainsKey(e.ToUpper())) { filterVar.Add(e.ToUpper()); filter.RemoveAt(i--); diff --git a/Elwig/Services/MemberService.cs b/Elwig/Services/MemberService.cs index a1a69d5..5dc9009 100644 --- a/Elwig/Services/MemberService.cs +++ b/Elwig/Services/MemberService.cs @@ -313,6 +313,22 @@ namespace Elwig.Services { memberQuery = memberQuery.Where(m => !m.ContactViaPost); filter.RemoveAt(i--); filterNames.Add("nicht Kontaktart Post"); + } else if ("upload".StartsWith(e, StringComparison.CurrentCultureIgnoreCase)) { + memberQuery = memberQuery.Where(p => (p.XTime == null || p.MTime > p.XTime) && (p.ITime == null || p.MTime > p.ITime)); + filter.RemoveAt(i--); + filterNames.Add("geändert seit letztem Export"); + } else if ("!upload".StartsWith(e, StringComparison.CurrentCultureIgnoreCase)) { + memberQuery = memberQuery.Where(p => !((p.XTime == null || p.MTime > p.XTime) && (p.ITime == null || p.MTime > p.ITime))); + filter.RemoveAt(i--); + filterNames.Add("unverändert seit letztem Export"); + } else if (">import".StartsWith(e, StringComparison.CurrentCultureIgnoreCase)) { + memberQuery = memberQuery.Where(p => p.MTime > p.ITime); + filter.RemoveAt(i--); + filterNames.Add("geändert seit letztem Import"); + } else if (" p.MTime <= p.ITime); + filter.RemoveAt(i--); + filterNames.Add("unverändert seit letztem Import"); } else if (e.All(char.IsAsciiDigit) && mgnr.ContainsKey(e)) { filterMgNr.Add(int.Parse(e)); filter.RemoveAt(i--);