Пример #1
0
        public PagedList <FavouriteCategory> GetFavouriteCategories(FavouriteCategoryQueryFilter filters)
        {
            filters.PageNumber = filters.PageNumber == 0 ? _paginationOptions.DefaultPageNumber : filters.PageNumber;
            filters.PageSize   = filters.PageSize == 0 ? _paginationOptions.DefaultPageSize : filters.PageSize;
            var favouriteCategories = _unitOfWork.FavouriteCategoryRepository.GetAll();


            if (filters.CustomerId != null)
            {
                favouriteCategories = favouriteCategories.Where(x => x.CustomerId == filters.CustomerId);
            }
            var pagedFavouriteCategories = PagedList <FavouriteCategory> .Create(favouriteCategories, filters.PageNumber, filters.PageSize);

            return(pagedFavouriteCategories);
        }
        public IActionResult GetFavouriteCategories([FromQuery] FavouriteCategoryQueryFilter filters)
        {
            var favouriteCategories     = _favouriteCategoryService.GetFavouriteCategories(filters);
            var favouriteCategoriesDtos = _mapper.Map <IEnumerable <FavouriteCategoryDto> >(favouriteCategories);
            var metadata = new Metadata
            {
                TotalCount      = favouriteCategories.TotalCount,
                PageSize        = favouriteCategories.PageSize,
                CurrentPage     = favouriteCategories.CurrentPage,
                TotalPages      = favouriteCategories.TotalPages,
                HasNextPage     = favouriteCategories.HasNextPage,
                HasPreviousPage = favouriteCategories.HasPreviousPage,
            };

            var response = new ApiResponse <IEnumerable <FavouriteCategoryDto> >(favouriteCategoriesDtos)
            {
                Meta = metadata
            };

            Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata));

            return(Ok(response));
        }
Пример #3
0
        public Uri GetFavouriteCategoryPaginationUri(FavouriteCategoryQueryFilter filter, string actionUrl)
        {
            string baseUrl = $"{_baseUri}{actionUrl}";

            return(new Uri(baseUrl));
        }