Exemplo n.º 1
0
        public async Task <IActionResult> GetProductsByPageAsync([FromQuery] PaginationQuery paginationQuery, [FromQuery] FilterProductParams filterParams)
        {
            try
            {
                PagedList <Product> productsInDb = await _unitOfWork.Products.GetPagedProductsWthCategoriesByFiltersAsync(paginationQuery, filterParams);

                if (productsInDb == null)
                {
                    return(NotFound());
                }
                var productsDtoPage = PagedListMapper <Product, ProductDto> .Map(productsInDb, _mapper);

                var metadata = new
                {
                    productsDtoPage.TotalCount,
                    productsDtoPage.PageSize,
                    productsDtoPage.CurrentPage,
                    productsDtoPage.TotalPages,
                    productsDtoPage.HasNext,
                    productsDtoPage.HasPrevious
                };

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

                return(Ok(productsDtoPage));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
Exemplo n.º 2
0
        protected override void Arrange()
        {
            PagedListMapper.Register();

            Mapper.CreateMap <SourceClass, DestinationClass>();

            _sources = SourceClass.Builder(20);
        }
 protected override void Arrange()
 {
     _countOfDefaultMappers = MapperRegistry.Mappers.Count();
     PagedListMapper.Register();
 }