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