Example #1
0
        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();
        }
Example #2
0
        public ActionResult DeleteItem(int itemId)
        {
            CartOrderItem item = _cartService.GetItemById(itemId);

            if (item == null)
            {
                return(BadRequest());
            }

            _cartService.RemoveItemFromCart(itemId, item.StockId);
            return(NoContent());
        }