public async Task <FindResponse <CaseWorkerTaskAggregate> > Find(FindCaseWorkerTasksParameter parameter, CancellationToken token) { using (var lck = await _caseManagementDbContext.Lock()) { IQueryable <CaseWorkerTaskModel> result = _caseManagementDbContext.CaseWorkers.Include(_ => _.Roles); if (parameter.Claims != null && parameter.Claims.Any()) { var roles = await GetRoles(parameter.Claims, token); var roleIds = roles.Where(_ => _.RoleId != null).Select(_ => _.RoleId.Value); result = result.Where(_ => _.Roles.Any(r => roleIds.Contains(r.Id))); } if (MAPPING_ACTIVATIONENAME_TO_PROPERTYNAME.ContainsKey(parameter.OrderBy)) { result = result.InvokeOrderBy(MAPPING_ACTIVATIONENAME_TO_PROPERTYNAME[parameter.OrderBy], parameter.Order); } int totalLength = result.Count(); result = result.Skip(parameter.StartIndex).Take(parameter.Count); var content = await result.ToListAsync(token); return(new FindResponse <CaseWorkerTaskAggregate> { StartIndex = parameter.StartIndex, Count = parameter.Count, TotalLength = totalLength, Content = content.Select(_ => _.ToDomain()).ToList() }); } }
public Task <FindResponse <CaseWorkerTaskAggregate> > Find(FindCaseWorkerTasksParameter parameter, CancellationToken token) { IEnumerable <CaseWorkerTaskAggregate> result = _caseWorkerTaskLst.ToList(); if (parameter.Claims != null && parameter.Claims.Any()) { result = result.Where(_ => { return(_.Roles.Any(__ => __.Claims.Any(c => parameter.Claims.Any(pc => pc.Key == c.Key && pc.Value == c.Value)))); }); } if (MAPPING_ACTIVATIONENAME_TO_PROPERTYNAME.ContainsKey(parameter.OrderBy)) { result = result.AsQueryable().InvokeOrderBy(MAPPING_ACTIVATIONENAME_TO_PROPERTYNAME[parameter.OrderBy], parameter.Order).ToList(); } int totalLength = result.Count(); result = result.Skip(parameter.StartIndex).Take(parameter.Count); return(Task.FromResult(new FindResponse <CaseWorkerTaskAggregate> { StartIndex = parameter.StartIndex, Count = parameter.Count, TotalLength = totalLength, Content = result.ToList() })); }
public Task <SearchResult <CaseWorkerTaskResult> > Find(FindCaseWorkerTasksParameter parameter, CancellationToken token) { IEnumerable <CaseWorkerTaskAggregate> result = _caseWorkerTaskLst.ToList(); if (MAPPING_ACTIVATIONENAME_TO_PROPERTYNAME.ContainsKey(parameter.OrderBy)) { result = result.AsQueryable().InvokeOrderBy(MAPPING_ACTIVATIONENAME_TO_PROPERTYNAME[parameter.OrderBy], parameter.Order).ToList(); } int totalLength = result.Count(); result = result.Skip(parameter.StartIndex).Take(parameter.Count); return(Task.FromResult(new SearchResult <CaseWorkerTaskResult> { StartIndex = parameter.StartIndex, Count = parameter.Count, TotalLength = totalLength, Content = result.Select(_ => CaseWorkerTaskResult.ToDTO(_)).ToList() })); }
public async Task <SearchResult <CaseWorkerTaskResult> > Find(FindCaseWorkerTasksParameter parameter, CancellationToken token) { IQueryable <CaseWorkerTaskAggregate> result = _caseManagementDbContext.CaseWorkers; if (MAPPING_ACTIVATIONENAME_TO_PROPERTYNAME.ContainsKey(parameter.OrderBy)) { result = result.InvokeOrderBy(MAPPING_ACTIVATIONENAME_TO_PROPERTYNAME[parameter.OrderBy], parameter.Order); } int totalLength = result.Count(); result = result.Skip(parameter.StartIndex).Take(parameter.Count); var content = await result.ToListAsync(token); return(new SearchResult <CaseWorkerTaskResult> { StartIndex = parameter.StartIndex, Count = parameter.Count, TotalLength = totalLength, Content = content.Select(_ => CaseWorkerTaskResult.ToDTO(_)).ToList() }); }