public IActionResult GetProduct(int productId, [FromQuery] string fields) { // check requested fields are valid if (!_typeHelperService.TypeHasProperties <ProductDTO>(fields)) { return(BadRequest()); } // get product var productFromRepo = _supermarketRepository.GetProductById(productId); // check product exists if (productFromRepo == null) { return(NotFound()); } var product = Mapper.Map <ProductDTO>(productFromRepo); var links = CreateLinksForProduct(productId, fields); var linkedResourceToReturn = product.ShapeData(fields) as IDictionary <string, object>; linkedResourceToReturn.Add("links", links); return(Ok(linkedResourceToReturn)); }
public RedirectToActionResult AddToBasket(int productId) { var product = _supermarketRepository.GetProductById(productId); _basket.AddProduct(product, 1); var basketLineItem = _basket.Products.FirstOrDefault(p => p.Product.Id == product.Id); _supermarketRepository.SaveBasketLineItem(_basket.BasketId, basketLineItem); return(RedirectToAction("Index", "Home")); }