public async Task <IActionResult> UpdateItem(Dictionary <int, int> items) { if (items == null) { return(RedirectToAction("Index", "Products")); } BasketIndexViewModel basketViewModel = await GetCurrentUserBasket(); BasketUpdateResponse response = await _basketService.UpdateBasketItem(basketViewModel.Id, items); return(RedirectToAction("Index")); }
public async Task <BasketUpdateResponse> UpdateBasketItem(int basketid, Dictionary <int, int> quantities) { BasketApiClient client = new BasketApiClient(_config.APIBaseUrl); BasketUpdateResponse response = await client.BasketService.UpdateBasketItem( basketid, new BasketUpdateItemsRequest() { Items = quantities.Select(q => new BasketUpdateItem() { ProductId = q.Key, Quantity = q.Value }).ToList() }); return(response); }
public async void BasketItemIsUpdated() { string userId = Guid.NewGuid().ToString(); BasketModelResponse response = await client.BasketService.GetBasketForUser(userId); BasketAddItemResponse respAdd = await client.BasketService.AddBasketItem(response.BasketId, new BasketAddItemRequest() { Price = 10.50M, ProductId = 1, Quantity = 2 }); respAdd.Should().NotBeNull(); respAdd.Success.Should().Be(true); List <BasketUpdateItem> updateItems = new List <BasketUpdateItem>(); updateItems.Add(new BasketUpdateItem() { ProductId = 1, Quantity = 1 }); BasketUpdateResponse respUpd = await client.BasketService.UpdateBasketItem( response.BasketId, new BasketUpdateItemsRequest() { Items = updateItems }); respUpd.Should().NotBeNull(); respUpd.Success.Should().Be(true); response = await client.BasketService.GetBasketForUser(userId); List <BasketModelItem> items = response.Items.ToList(); items.Count.Should().Be(1); items.First().Quantity.Should().Be(1); }