public ActionResult AddToCart(string sku) { var product = _getProducts.GetBySku(sku); var cartList = _getCart.Get(Identity.LoggedInUserId); var existingcartItemDTO = cartList.CartItems.FirstOrDefault(ci => ci.ProductId == product.Id); if (existingcartItemDTO != null) { var cartItem = _getCartItem.GetById(existingcartItemDTO.Id); cartItem.Quantity++; _saveCartItem.Save(cartItem); } else { _saveCartItem.Save(new CartItem { CustomerId = Identity.LoggedInUserId, Quantity = 1, ProductId = product.Id }); } return(RedirectToAction("Index", "Home")); }
public CartDTO Post([FromBody] CartItemDTO value) { var cart = _getCart.Get(Identity.LoggedInUserId); var cartItemDTO = cart.CartItems.FirstOrDefault(i => i.SKU == value.SKU); if (cartItemDTO != null) { cartItemDTO.Quantity = value.Quantity; _saveCart.Save(cartItemDTO.ToCartItem()); if (cartItemDTO.Quantity == 0) { _saveCart.Remove(cartItemDTO.ToCartItem()); } var recalculatedCart = _getCart.Get(Identity.LoggedInUserId); return(recalculatedCart); } else { return(cart); } }