public async Task <List <Applications> > ListAsync(ApplicationSearchCondition condition, CancellationToken cancellationToken = default(CancellationToken)) { var q = Store.Applications; if (!string.IsNullOrEmpty(condition?.KeyWords)) { q = q.Where(a => a.DisplayName.Contains(condition.KeyWords)); } if (condition?.ApplicationTypes?.Count > 0) { q = q.Where(a => condition.ApplicationTypes.Contains(a.ApplicationType)); } if (condition?.Ids?.Count > 0) { q = q.Where(a => condition.Ids.Contains(a.Id)); } return(await q.ToListAsync()); }
public async Task <ResponseMessage <List <Applications> > > Search(string userId, [FromBody] ApplicationSearchCondition condition) { ResponseMessage <List <Applications> > response = new ResponseMessage <List <Applications> >(); //if (!await _permissionExpansionManager.HavePermission(userId, "ApplicationRetrieve")) //{ // response.Code = ResponseCodeDefines.NotAllow; // return response; //} var applicationIds = await _roleApplicationManager.FindApplicationIdsByUserIdAsync(userId, HttpContext.RequestAborted); if (applicationIds?.Count() == 0) { response.Code = ResponseCodeDefines.NotAllow; response.Extension = null; return(response); } if (condition.Ids == null) { condition.Ids = new List <string>(); } condition.Ids.AddRange(applicationIds); response.Extension = await _applicationManager.ListAsync(condition); return(response); }