public void Handle(ChangeBasketItemQuantityCommand cmd)
        {
            var basket = this.cBRepo.Get(cmd.CustomerId);

            basket.ChangeQuantity(cmd.ProductId, cmd.NewQuantity);
            this.cBRepo.Save(basket);
        }
        public IActionResult ChangeBasketItemQuantity(int customerId, int productId, int newQuantity)
        {
            var cmd = new ChangeBasketItemQuantityCommand {
                CustomerId = customerId, ProductId = productId, NewQuantity = newQuantity
            };

            this.basketService.Submit(cmd);

            return(NoContent());
        }
        public BasketDto ChangeItemQuantity(ChangeBasketItemQuantityCommand msg)
        {
            BasketDto basketDto = null;

            var uri = this.GenerateRequestUri($"{msg.CustomerId}", "item");

            var response = this.Put(uri, new { productId = msg.ProductId, newQuantity = msg.NewQuantity });

            if (response.IsSuccessStatusCode)
            {
                basketDto = this.GetBasket(new GetBasketQuery {
                    CustomerId = msg.CustomerId
                });
            }
            return(basketDto);
        }
Ejemplo n.º 4
0
        public void ShouldChangeQuantityOfItemInBasketGivenChangeItemQuantityMessage()
        {
            //arrange
            var changeQtyMsg = new ChangeBasketItemQuantityCommand
            {
                CustomerId  = expectedBasketDto.CustomerId,
                ProductId   = expectedBasketDto.Items[0].ProductId,
                NewQuantity = 900
            };
            var sut = new BasketManagementClient(this.clientBaseUri);

            //act
            var result = sut.ChangeItemQuantity(changeQtyMsg);

            //assert
            Assert.Equal(2, result.Items.Count);
            Assert.Equal(expectedBasketDto.Items[0].ProductId, result.Items[0].ProductId);
            Assert.Equal(changeQtyMsg.NewQuantity, result.Items[0].Quantity);
        }