public void AddItemToCart(Stock stock, int quantity, string cartId) { CartOrderItemEntity itemEntity = _unitOfWork.CartOrderItemRepository.GetAll().ToList().Find( i => i.CartId == cartId && i.StockId == stock.Id); if (itemEntity != null) { itemEntity.Quantity += quantity; itemEntity.Price = itemEntity.Stock.Price * itemEntity.Quantity; _unitOfWork.CartOrderItemRepository.Update(itemEntity); } else { CartOrderItem newItem = new CartOrderItem() { StockId = stock.Id, Quantity = quantity, CartId = cartId, Price = stock.Price * quantity }; CartOrderItemEntity newItemEntity = _mapper.Map <CartOrderItemEntity>(newItem); _unitOfWork.CartOrderItemRepository.Add(newItemEntity); } StockEntity stockEntity = _unitOfWork.StockRepository.Get(stock.Id); stockEntity.Quantity -= quantity; _unitOfWork.StockRepository.Update(stockEntity); _unitOfWork.Save(); }
public ActionResult DeleteItem(int itemId) { CartOrderItem item = _cartService.GetItemById(itemId); if (item == null) { return(BadRequest()); } _cartService.RemoveItemFromCart(itemId, item.StockId); return(NoContent()); }