Update Filter Behaviour

This commit is contained in:
Andre Beging
2025-03-31 14:06:23 +02:00
parent 817a7d81f5
commit 5fc707255a
3 changed files with 36 additions and 12 deletions

View File

@@ -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();
}