public async Task <IActionResult> PostCustomerCartDetail([FromBody] DTOs.CustomerCartDetail detail) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var productInCart = _context.CustomerCartDetail.Find(detail.CustomerCartId, detail.ProductId); if (productInCart != null) { productInCart.Quantity += detail.Quantity; _context.Update(productInCart); } else { var customerCartDetail = new CustomerCartDetail { ProductId = detail.ProductId, CustomerCartId = detail.CustomerCartId, Price = detail.Price, DisplayPrice = detail.DisplayPrice, Quantity = detail.Quantity }; _context.CustomerCartDetail.Add(customerCartDetail); } return(await _context.SaveChangesAsync() > 0 ? StatusCode(200) : StatusCode(409)); }
public async Task <IActionResult> PutCustomerCartDetail([FromRoute] string id, [FromBody] CustomerCartDetail customerCartDetail) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != customerCartDetail.CustomerCartId) { return(BadRequest()); } _context.Entry(customerCartDetail).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CustomerCartDetailExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }