Пример #1
0
        public async Task <PagedList <Entity> > GetRoles(RoleQueryParameters roleParameters)
        {
            var roles = FindAll();

            var filteredRoles = FilterRoles(roles, roleParameters);

            var sortedRoles = SortHelper.ApplySort(filteredRoles, roleParameters.OrderBy);

            var pagedRoles = sortedRoles;

            if (!roleParameters.SkipPageSize)
            {
                pagedRoles = sortedRoles
                             .Skip((roleParameters.PageNumber - 1) * roleParameters.PageSize)
                             .Take(roleParameters.PageSize);
            }

            var mappedRoles = pagedRoles
                              .ProjectTo <RoleDTO>(_mapper.ConfigurationProvider);

            var shapedRoles = DataShaper.ShapeData(mappedRoles, roleParameters.Fields);

            return(await PagedList <Entity>
                   .ToPagedList(shapedRoles, filteredRoles.Count(), roleParameters.PageNumber, roleParameters.PageSize));
        }
Пример #2
0
        /// <summary>
        /// Gets the roles.
        /// </summary>
        /// <param name="roleParameters">The role parameters.</param>
        /// <returns></returns>
        public async Task <CSSResponse> GetRoles(RoleQueryParameters roleParameters)
        {
            var roles = await _repository.Roles.GetRoles(roleParameters);

            _httpContextAccessor.HttpContext.Response.Headers.Add("X-Pagination", PagedList <Entity> .ToJson(roles));

            return(new CSSResponse(roles, HttpStatusCode.OK));
        }
Пример #3
0
        private IQueryable <Role> FilterRoles(IQueryable <Role> roles, RoleQueryParameters roleQueryParameters)
        {
            if (!roles.Any() || string.IsNullOrWhiteSpace(roleQueryParameters.SearchKeyword))
            {
                return(roles);
            }

            return(roles.Where(o => o.Name.ToLower().Contains(roleQueryParameters.SearchKeyword.Trim().ToLower())));
        }
Пример #4
0
        public async Task <IActionResult> GetRoles([FromQuery] RoleQueryParameters roleParameters)
        {
            var result = await _roleService.GetRoles(roleParameters);

            return(StatusCode((int)result.Code, result.Value));
        }