public async Task <OperationDataResult <Paged <SecurityGroupModel> > > GetSecurityGroups( SecurityGroupRequestModel requestModel) { try { var securityGroupsModel = new Paged <SecurityGroupModel>(); var securityGroupsQuery = _dbContext.SecurityGroups .Where(x => x.WorkflowState != Constants.WorkflowStates.Removed) .AsQueryable(); if (!string.IsNullOrEmpty(requestModel.NameFilter)) { securityGroupsQuery = securityGroupsQuery.Where(x => x.Name.Contains(requestModel.NameFilter)); } securityGroupsModel.Total = await securityGroupsQuery.Select(x => x.Id).CountAsync(); var securityGroupsQueryWithSelect = AddSelectToQuery(securityGroupsQuery); if (!string.IsNullOrEmpty(requestModel.Sort)) { if (requestModel.IsSortDsc) { securityGroupsQueryWithSelect = securityGroupsQueryWithSelect .CustomOrderByDescending(requestModel.Sort); } else { securityGroupsQueryWithSelect = securityGroupsQueryWithSelect .CustomOrderBy(requestModel.Sort); } } else { securityGroupsQueryWithSelect = securityGroupsQueryWithSelect .OrderBy(x => x.Id); } securityGroupsQueryWithSelect = securityGroupsQueryWithSelect .Skip(requestModel.Offset) .Take(requestModel.PageSize); var securityGroupList = await securityGroupsQueryWithSelect.ToListAsync(); securityGroupsModel.Entities = securityGroupList; return(new OperationDataResult <Paged <SecurityGroupModel> >(true, securityGroupsModel)); } catch (Exception e) { _logger.LogError(e.Message); return(new OperationDataResult <Paged <SecurityGroupModel> >(false, _localizationService.GetString("ErrorWhileObtainingSecurityGroups"))); } }
public async Task <OperationDataResult <Paged <SecurityGroupModel> > > GetEntityGroups([FromBody] SecurityGroupRequestModel requestModel) { return(await _securityGroupService.GetSecurityGroups(requestModel)); }