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 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); }
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(); }