Esempio n. 1
0
        public async Task <IActionResult> AddItem(long id, [FromBody] UpdateOrderRequest request)
        {
            var command = new AddItemToCartCommand(id, request.ProductId, request.Quantity);

            var result = await DispatchAsync(command);

            return(FromResult(result));
        }
Esempio n. 2
0
 private async Task AddItemToCart(Guid cartId, Guid productId, int quantity)
 {
     var command = new AddItemToCartCommand
     {
         CartId    = cartId,
         ProductId = productId,
         Quantity  = quantity
     };
     await _mediator.Send(command);
 }
Esempio n. 3
0
        public async Task <IActionResult> Add(Guid productID)
        {
            var activeCart = await mediator.Send(new ActiveCartQuery());

            var addItemCommand = new AddItemToCartCommand {
                CartID = activeCart.CartID, ProductID = productID
            };
            await mediator.Send(addItemCommand);

            return(RedirectToAction(nameof(Index)));
        }
Esempio n. 4
0
        public void Test()
        {
            // Create commands
            string itemName = "Item1";

            var stockManager = new InMemoryStockManagerService();
            var cart         = new ShoppingCart();

            var item1 = new ShoppingCartItem {
                Name = itemName, Amount = 1, Price = 5m
            };
            var item2 = new ShoppingCartItem {
                Name = itemName, Amount = 1, Price = 25m
            };

            stockManager.GetItemsCountLeft(itemName).Should().NotBe(0);

            var addCartItemCommand1   = new AddItemToCartCommand(stockManager, cart, item1);
            var addCartItemCommand2   = new AddItemToCartCommand(stockManager, cart, item1);
            var removeCartItemCommand = new RemoveItemFromCart(stockManager, cart, item1);
            var addCartItemCommand3   = new AddItemToCartCommand(stockManager, cart, item2);
            var removeAllItemsCommand = new RemoveAllFromCartCommand(stockManager, cart);

            // Execute
            if (addCartItemCommand1.CanExecute())
            {
                addCartItemCommand1.Execute();
            }
            stockManager.GetItemsCountLeft(itemName).Should().Be(0);
            if (addCartItemCommand2.CanExecute())
            {
                addCartItemCommand2.Execute();
            }
            if (removeCartItemCommand.CanExecute())
            {
                removeCartItemCommand.Execute();
            }
            stockManager.GetItemsCountLeft(itemName).Should().Be(1);

            if (addCartItemCommand3.CanExecute())
            {
                addCartItemCommand3.Execute();
            }
            stockManager.GetItemsCountLeft(itemName).Should().Be(0);

            if (removeAllItemsCommand.CanExecute())
            {
                removeAllItemsCommand.Execute();
            }
            stockManager.GetItemsCountLeft(itemName).Should().Be(1);
        }
Esempio n. 5
0
        public async Task <IActionResult> AddItemToCartAsync([FromBody] AddItemToCartCommand command)
        {
            var result = await mediator.Send(command);

            return(ConvertToResponse(result));
        }