Updating
This commit is contained in:
+44
-7
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user