public void AddToCart(Product product) { // Get the matching cart and album instances var cartItem = db.Cart.SingleOrDefault( c => c.SessionID == ShoppingCartId && c.IDProduct == product.Id); if (cartItem == null) { // Create a new cart item if no cart item exists cartItem = new Cart { IDProduct = product.Id, SessionID = ShoppingCartId, Quantity = 1, Date = DateTime.Now }; db.Cart.Add(cartItem); } else { // If the item does exist in the cart, // then add one to the quantity cartItem.Quantity++; } // Save changes db.SaveChanges(); }
public async Task<IHttpActionResult> PutCart(int id, Cart cart) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (id != cart.Id) { return BadRequest(); } db.Entry(cart).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CartExists(id)) { return NotFound(); } else { throw; } } return StatusCode(HttpStatusCode.NoContent); }
public async Task<IHttpActionResult> PostCart(Cart cart) { if (!ModelState.IsValid) { return BadRequest(ModelState); } db.Cart.Add(cart); await db.SaveChangesAsync(); return CreatedAtRoute("DefaultApi", new { id = cart.Id }, cart); }