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());
        }
Beispiel #2
0
        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);
        }