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));
 }