public async Task <IActionResult> GetRoles(RoleResourceParameters parameters) { var result = new Result(); try { var roleQry = _roleManager.Roles.Where(x => x.IsActive && !x.IsDeleted); if (!User.IsInRole(supAdminRole)) { roleQry = roleQry.Where(u => u.SharedKey == _key); } var queryResult = _mapper.Map <IEnumerable <RoleListModel> >(roleQry).AsQueryable(); // __::todo- apply filter, sort & serach query var data = queryResult.GetPaged(parameters.PageNo, parameters.PageSize); //var ownerRole = _roleManager.Roles.FirstOrDefault(x => x.SharedKey == user.SharedKey+"_opac" && x.IsActive && !x.IsDeleted); result.Success = true; result.Data = data; return(Ok(result)); } catch (Exception ex) { result.AddError(ex.Message); } return(BadRequest(result)); }
public List <ApplicationRole> GetRolesUnpaged(RoleResourceParameters roleResourceParameters) { var appRoles = _roleManager.Roles.AsQueryable(); if (!string.IsNullOrEmpty(roleResourceParameters.SearchQuery)) { // trim & ignore casing var searchQueryForWhereClause = roleResourceParameters.SearchQuery.Trim().ToLowerInvariant(); appRoles = appRoles .Where(r => r.Name.ToLowerInvariant().Contains(searchQueryForWhereClause) || r.NormalizedName.ToLowerInvariant().Contains(searchQueryForWhereClause)); } return(appRoles.ToList()); }
public PagedList <ApplicationRole> GetRolesPaged(RoleResourceParameters roleResourceParameters) { var appRoles = _roleManager.Roles.AsQueryable(); var collectionBeforePaging = appRoles.OrderBy($"{roleResourceParameters.OrderBy}").AsQueryable(); if (!string.IsNullOrEmpty(roleResourceParameters.SearchQuery)) { // trim & ignore casing var searchQueryForWhereClause = roleResourceParameters.SearchQuery.Trim().ToLowerInvariant(); collectionBeforePaging = collectionBeforePaging .Where(r => r.Name.ToLowerInvariant().Contains(searchQueryForWhereClause) || r.NormalizedName.ToLowerInvariant().Contains(searchQueryForWhereClause)); } return(PagedList <ApplicationRole> .Create(collectionBeforePaging, roleResourceParameters.PageNumber, roleResourceParameters.PageSize)); }
public IActionResult GetRolesUnpaged(RoleResourceParameters roleResourceParameters) { var i = User; if (!_propertyMappingService.ValidMappingExistsFor <ApplicationRoleDTO, ApplicationRole>(roleResourceParameters.Fields)) { return(BadRequest()); } if (!_propertyMappingService.ValidMappingExistsFor <ApplicationRoleDTO, ApplicationRole>(roleResourceParameters.OrderBy)) { return(BadRequest()); } var rolesFromRepo = _roleRepository.GetRolesUnpaged(roleResourceParameters); var roles = Mapper.Map <IEnumerable <ApplicationRoleDTO> >(rolesFromRepo); var shapedRoles = roles.ShapeData(roleResourceParameters.Fields); return(Ok(shapedRoles)); }
private string CreateRolesResourceUri(RoleResourceParameters roleResourceParameters, ResourceUriType type) { switch (type) { case ResourceUriType.PreviousPage: return(_urlHelper.Link("GetRoles", new { fields = roleResourceParameters.Fields, orderBy = roleResourceParameters.OrderBy, searchQuery = roleResourceParameters.SearchQuery, pageNumber = roleResourceParameters.PageNumber - 1, pageSize = roleResourceParameters.PageSize })); case ResourceUriType.NextPage: return(_urlHelper.Link("GetRoles", new { fields = roleResourceParameters.Fields, orderBy = roleResourceParameters.OrderBy, searchQuery = roleResourceParameters.SearchQuery, pageNumber = roleResourceParameters.PageNumber + 1, pageSize = roleResourceParameters.PageSize })); case ResourceUriType.Current: default: return(_urlHelper.Link("GetRoles", new { fields = roleResourceParameters.Fields, orderBy = roleResourceParameters.OrderBy, searchQuery = roleResourceParameters.SearchQuery, pageNumber = roleResourceParameters.PageNumber, pageSize = roleResourceParameters.PageSize })); } }
public IActionResult GetRolesPaged(RoleResourceParameters roleResourceParameters) { if (!_propertyMappingService.ValidMappingExistsFor <ApplicationRoleDTO, ApplicationRole>(roleResourceParameters.Fields)) { return(BadRequest()); } if (!_propertyMappingService.ValidMappingExistsFor <ApplicationRoleDTO, ApplicationRole>(roleResourceParameters.OrderBy)) { return(BadRequest()); } var rolesFromRepo = _roleRepository.GetRolesPaged(roleResourceParameters); var roles = Mapper.Map <IEnumerable <ApplicationRoleDTO> >(rolesFromRepo); var previousPageLink = rolesFromRepo.HasPrevious ? CreateRolesResourceUri(roleResourceParameters, ResourceUriType.PreviousPage) : null; var nextPageLink = rolesFromRepo.HasNext ? CreateRolesResourceUri(roleResourceParameters, ResourceUriType.NextPage) : null; var paginationMetadata = new { previousPageLink = previousPageLink, nextPageLink = nextPageLink, totalCount = rolesFromRepo.TotalCount, pageSize = rolesFromRepo.PageSize, currentPage = rolesFromRepo.CurrentPage, totalPages = rolesFromRepo.TotalPages }; Response.Headers.Add("X-Pagination", Newtonsoft.Json.JsonConvert.SerializeObject(paginationMetadata)); var shapedRoles = roles.ShapeData(roleResourceParameters.Fields); return(Ok(shapedRoles)); }