This commit is contained in:
Zeeshaun
2026-05-04 15:27:51 +00:00
parent a57846d9d1
commit 812bf9c652
7 changed files with 60 additions and 14 deletions
@@ -369,13 +369,50 @@ public class ActivityRepository : BaseRepository, IActivityRepository
if (!string.IsNullOrWhiteSpace(filter.Query))
{
var query = filter.Query.ToLower().Trim();
querySet = querySet.Where(x =>
x.Detail.MemberName.ToLower().Contains(query)
|| x.Detail.AccountNumber.ToLower().Contains(query)
|| x.Detail.SubjectPersonNbr.ToLower().Contains(query)
|| x.Detail.SubjectOrgNbr.ToLower().Contains(query)
|| x.SourceId.ToLower() == query
|| query == x.Id.ToString());
var hasActivityId = int.TryParse(query, out var activityId);
var sourceIdMatches = _context.Activities
.Where(x => x.SourceId != null && x.SourceId.ToLower() == query)
.Select(x => x.Id);
var memberNameMatches = _context.Activities
.Where(x => x.Detail != null
&& x.Detail.MemberName != null
&& x.Detail.MemberName.ToLower().Contains(query))
.Select(x => x.Id);
var accountNumberMatches = _context.Activities
.Where(x => x.Detail != null
&& x.Detail.AccountNumber != null
&& x.Detail.AccountNumber.ToLower().Contains(query))
.Select(x => x.Id);
var subjectPersonNbrMatches = _context.Activities
.Where(x => x.Detail != null
&& x.Detail.SubjectPersonNbr != null
&& x.Detail.SubjectPersonNbr.ToLower().Contains(query))
.Select(x => x.Id);
var subjectOrgNbrMatches = _context.Activities
.Where(x => x.Detail != null
&& x.Detail.SubjectOrgNbr != null
&& x.Detail.SubjectOrgNbr.ToLower().Contains(query))
.Select(x => x.Id);
var matchingIds = sourceIdMatches
.Union(memberNameMatches)
.Union(accountNumberMatches)
.Union(subjectPersonNbrMatches)
.Union(subjectOrgNbrMatches);
if (hasActivityId)
{
matchingIds = matchingIds.Union(
_context.Activities
.Where(x => x.Id == activityId)
.Select(x => x.Id));
}
querySet = querySet.Where(x => matchingIds.Contains(x.Id));
}
querySet = SortQuerySet(querySet, filter);