Update Filter Behaviour
This commit is contained in:
@@ -32,20 +32,21 @@ namespace FoodsharingSiegen.Shared.Helper
|
||||
(!string.IsNullOrWhiteSpace(x.Memo) && x.Memo.Contains(filter.Text, StringComparison.OrdinalIgnoreCase) == true) ||
|
||||
x.FsId.ToString().Contains(filter.Text, StringComparison.OrdinalIgnoreCase)).AsQueryable();
|
||||
|
||||
// Show only prospect with missing StepIn Briefing
|
||||
if (filter.WithoutStepInBriefing)
|
||||
filterListQ = filterListQ.Where(x => x.Interactions.All(i => i.Type != InteractionType.StepInBriefing));
|
||||
|
||||
// Show only prospect with missing IdCheck
|
||||
if (filter.WithoutIdCheck)
|
||||
filterListQ = filterListQ.Where(x => x.Interactions.All(i => i.Type != InteractionType.IdCheck));
|
||||
|
||||
// Show only deleted prospects
|
||||
if (filter.DeletedOnly)
|
||||
filterListQ = filterListQ.Where(x => x.RecordState == RecordState.Deleted);
|
||||
|
||||
if (filter.NoActivity)
|
||||
{
|
||||
var days = 180; // Half year
|
||||
Func<Prospect, bool> q1 = x => x.Interactions.Any() && x.Interactions.All(i => DateTime.Now - i.Date > TimeSpan.FromDays(days));
|
||||
Func<Prospect, bool> q2 = x => DateTime.Now - x.Created > TimeSpan.FromDays(days);
|
||||
|
||||
filterListQ = filterListQ.Where(x => q1(x) && q2(x));
|
||||
}
|
||||
// No Activity Filter
|
||||
if (filter.NoActivity)
|
||||
filterListQ = filterListQ.Where(x => DateTime.Now - x.Modified > TimeSpan.FromDays(180));
|
||||
|
||||
return filterListQ.ToList();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user