From 4f352345ac8ae6983aded1b2f757e3ca9c2961fd Mon Sep 17 00:00:00 2001 From: Lee Dumond Date: Wed, 8 May 2019 12:37:51 -0500 Subject: [PATCH 1/2] UpdateAllBasketAsync should use the current basket if there is one for the current buyer --- .../aggregator/Controllers/BasketController.cs | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Controllers/BasketController.cs b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Controllers/BasketController.cs index 978b1858c..a2c0d1fea 100644 --- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Controllers/BasketController.cs +++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Controllers/BasketController.cs @@ -36,15 +36,9 @@ namespace Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator.Controllers } // Retrieve the current basket - var currentBasket = await _basket.GetByIdAsync(data.BuyerId); - - if (currentBasket == null) - { - currentBasket = new BasketData(data.BuyerId); - } + var basket = await _basket.GetByIdAsync(data.BuyerId) ?? new BasketData(data.BuyerId); var catalogItems = await _catalog.GetCatalogItemsAsync(data.Items.Select(x => x.ProductId)); - var newBasket = new BasketData(data.BuyerId); foreach (var bitem in data.Items) { @@ -54,7 +48,7 @@ namespace Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator.Controllers return BadRequest($"Basket refers to a non-existing catalog item ({bitem.ProductId})"); } - newBasket.Items.Add(new BasketDataItem() + basket.Items.Add(new BasketDataItem() { Id = bitem.Id, ProductId = catalogItem.Id.ToString(), @@ -65,9 +59,9 @@ namespace Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator.Controllers }); } - await _basket.UpdateAsync(newBasket); + await _basket.UpdateAsync(basket); - return newBasket; + return basket; } [HttpPut] From 29ba3d5ddff4fd70037c0db2df3e12d3191ab91b Mon Sep 17 00:00:00 2001 From: Lee Dumond Date: Thu, 23 May 2019 14:21:41 -0500 Subject: [PATCH 2/2] UpdateAllBasketAsync should use the current basket if there is one for the current buyer --- .../aggregator/Controllers/BasketController.cs | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/Controllers/BasketController.cs b/src/ApiGateways/Web.Bff.Shopping/aggregator/Controllers/BasketController.cs index 6745ffa02..00cf506a4 100644 --- a/src/ApiGateways/Web.Bff.Shopping/aggregator/Controllers/BasketController.cs +++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/Controllers/BasketController.cs @@ -36,14 +36,9 @@ namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Controllers } // Retrieve the current basket - var currentBasket = await _basket.GetByIdAsync(data.BuyerId); - if (currentBasket == null) - { - currentBasket = new BasketData(data.BuyerId); - } + var basket = await _basket.GetByIdAsync(data.BuyerId) ?? new BasketData(data.BuyerId); var catalogItems = await _catalog.GetCatalogItemsAsync(data.Items.Select(x => x.ProductId)); - var newBasket = new BasketData(data.BuyerId); foreach (var bitem in data.Items) { @@ -53,7 +48,7 @@ namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Controllers return BadRequest($"Basket refers to a non-existing catalog item ({bitem.ProductId})"); } - newBasket.Items.Add(new BasketDataItem() + basket.Items.Add(new BasketDataItem() { Id = bitem.Id, ProductId = catalogItem.Id.ToString(), @@ -64,9 +59,9 @@ namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Controllers }); } - await _basket.UpdateAsync(newBasket); + await _basket.UpdateAsync(basket); - return newBasket; + return basket; } [HttpPut]