public async Task <ActionResult <ProductToReturnDto> > GetProduct(int id) { var spec = new ProductTypeandBrandSpecification(id); var prodResult = await this.productRepo.GetEntityWithSpec(spec); if (prodResult == null) { return(NotFound(new ApiResponse(404))); } return(mapper.Map <Products, ProductToReturnDto>(prodResult)); }
public async Task <ActionResult <Pagination <ProductToReturnDto> > > GetProducts ([FromQuery] ProductSpecParams _productSpecParams) { var spec = new ProductTypeandBrandSpecification(_productSpecParams); var count = new ProductWithFiltersForCountSpecification(_productSpecParams); var totalItems = await productRepo.CountAsync(count); var product = await this.productRepo.ListAsync(spec); var data = mapper.Map <IReadOnlyList <Products>, IReadOnlyList <ProductToReturnDto> >(product); return(Ok(new Pagination <ProductToReturnDto>(_productSpecParams.PageIndex , _productSpecParams.pageSize, totalItems, data))); }