public async Task <Cart> AddProduct(int id, [FromBody] Cart cart) { var data = await repository.AddProduct(id, cart); return(data); //var data = await context.CartProducts.FindAsync(id); //if (data == null) //{ // await context.CartProducts.AddAsync(cart); // await context.SaveChangesAsync(); // return data; //} //else //{ // data.Quantity = cart.Quantity; // context.CartProducts.Update(data); // await context.SaveChangesAsync(); // return data; //} }
public HttpResponseMessage CartAction([FromBody] CartAction action) { if ((action == null) || (action.ProductId == null) || (action.Command == null)) { return(new HttpResponseMessage(HttpStatusCode.BadRequest)); } var telemetry = new TelemetryClient(); telemetry.TrackEvent("Cart", new Dictionary <string, string> { ["command"] = action.Command }); var id = GetCookieId(); Model.Cart cart; switch (action.Command) { case "add": cart = _cartRepository.AddProduct(id, action.ProductId); break; case "remove": cart = _cartRepository.RemoveProduct(id, action.ProductId); break; case "delete": cart = _cartRepository.DeleteProduct(id, action.ProductId); break; default: return(new HttpResponseMessage(HttpStatusCode.BadRequest)); } return(Cart(id, cart)); }