Ejemplo n.º 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();
        }
Ejemplo n.º 2
0
        public void SetUp()
        {
            _mapper = UnitTestsHelper.CreateMapperProfile();

            entities            = _mapper.Map <List <CartOrderItemEntity> >(expectedfullList);
            stockentity         = _mapper.Map <StockEntity>(s);
            cartorderitementity = _mapper.Map <CartOrderItemEntity>(c);

            mockUOF = new Mock <IUnitOfWork>();
            mockUOF.Setup(x => x.CartOrderItemRepository.GetAll())
            .Returns(entities);
            mockUOF.Setup(x => x.CartOrderItemRepository.Get(cartorderitementity.Id))
            .Returns(cartorderitementity);
            mockUOF.Setup(x => x.StockRepository.Get(stockentity.Id))
            .Returns(stockentity);

            cartService = new CartService(mockUOF.Object, _mapper);
        }
Ejemplo n.º 3
0
        public void RemoveItemFromCart(int itemId, int stockId)
        {
            CartOrderItemEntity itemEntity = _unitOfWork.CartOrderItemRepository.Get(itemId);

            if (itemEntity.Quantity > 1)
            {
                itemEntity.Quantity--;
                itemEntity.Price = itemEntity.Stock.Price * itemEntity.Quantity;
                _unitOfWork.CartOrderItemRepository.Update(itemEntity);
            }
            else if (itemEntity.Quantity == 1)
            {
                _unitOfWork.CartOrderItemRepository.Delete(itemEntity.Id);
            }

            StockEntity stockEntity = _unitOfWork.StockRepository.Get(stockId);

            stockEntity.Quantity++;
            _unitOfWork.StockRepository.Update(stockEntity);

            _unitOfWork.Save();
        }