public async Task <ActionResult <ProductToReturnDto> > GetProduct(int id) { var spec = new ProductsWithTypesandBrandsSpecification(id); var product = await _productRepo.GetEntityWithSpec(spec); return(_mapper.Map <Product, ProductToReturnDto>(product)); }
public async Task <ActionResult <ProducttoReturnDto> > GetProduct(int id) { var spec = new ProductsWithTypesandBrandsSpecification(id); var product = await _productRepo.GetEntityWithSpec(spec); if (product == null) { return(NotFound(new ApiResponse(404))); } return(_mapper.Map <Product, ProducttoReturnDto>(product)); }
public async Task <ActionResult <IReadOnlyList <ProducttoReturnDto> > > GetProducts([FromQuery] ProductSpecParams productSpecParams) { var spec = new ProductsWithTypesandBrandsSpecification(productSpecParams); var countspec = new ProductwithFiltersForCountSpecification(productSpecParams); var totalItems = await _productRepo.CountAsync(countspec); var products = await _productRepo.LisAsync(spec); var data = _mapper.Map <IReadOnlyList <Product>, IReadOnlyList <ProducttoReturnDto> >(products); return(Ok(new Pagination <ProducttoReturnDto>(productSpecParams.PageIndex, productSpecParams.PageSize, totalItems, data))); }