public async Task <ActionResult <Product> > GetProduct(int id) { var spec = new ProductsWithBrandsAndTypesSpecifications(id); var product = await _productsRepo.GetEntityBySpec(spec); // var productDto = new ProductForListDto // { // Id = product.Id, // Name = product.Name, // Price = product.Price, // Description = product.Description, // PictureUrl = product.PictureUrl, // ProductBrand = product.ProductBrand.Name, // ProductType = product.ProductType.Name // }; var productDto = _mapper.Map <Product, ProductForListDto>(product); return(Ok(productDto)); }
public async Task <ActionResult <IReadOnlyList <Product> > > GetProducts() { var spec = new ProductsWithBrandsAndTypesSpecifications(); var products = await _productsRepo.ListAsync(spec); // if we not use automapper // var productsDto = products.Select(x=>new ProductForListDto{ // Id = x.Id, // Name= x.Name, // Description = x.Description, // PictureUrl = x.PictureUrl, // ProductBrand = x.ProductBrand.Name, // ProductType = x.ProductType.Name // }).ToList(); // using automapper var productsDto = _mapper.Map <IReadOnlyList <Product>, IReadOnlyList <ProductForListDto> >(products); return(Ok(productsDto)); }