public async Task <ActionResult <BasketData> > UpdateQuantitiesAsync([FromBody] UpdateBasketItemsRequest data) { if (!data.Updates.Any()) { return(BadRequest("No updates sent")); } // Retrieve the current basket var currentBasket = await _basket.GetById(data.BasketId); if (currentBasket == null) { return(BadRequest($"Basket with id {data.BasketId} not found.")); } // Update with new quantities foreach (var update in data.Updates) { var basketItem = currentBasket.Items.SingleOrDefault(bitem => bitem.Id == update.BasketItemId); if (basketItem == null) { return(BadRequest($"Basket item with id {update.BasketItemId} not found")); } basketItem.Quantity = update.NewQty; } // Save the updated basket await _basket.UpdateAsync(currentBasket); return(currentBasket); }
public async Task <ActionResult <BasketModel> > UpdateQuantitiesAsync([FromBody] UpdateBasketItemsRequest data) { if (!data.Updates.Any()) { return(BadRequest("No updates sent")); } var currentBasket = await _basketService.GetByIdAsync(data.BasketId); if (currentBasket == null) { return(BadRequest($"Basket with id {data.BasketId} not found.")); } foreach (var update in data.Updates) { var basketItem = currentBasket.Items.SingleOrDefault(bitem => bitem.Id == update.BasketItemId); if (basketItem == null) { return(BadRequest($"Basket item with id {update.BasketItemId} not found")); } basketItem.Quantity = update.NewQty; } await _basketService.UpdateAsync(currentBasket); return(currentBasket); }
public async Task <ActionResult <CustomerBasket> > UpdateBasket([FromBody] UpdateBasketItemsRequest data) { if (!data.Updates.Any()) { return(BadRequest("No updates sent")); } // Retrieve the current basket var currentBasket = await _repository.GetBasketAsync(data.BasketId); if (currentBasket == null) { return(BadRequest($"Basket with id {data.BasketId} not found.")); } // Update with new quantities foreach (var update in data.Updates) { var basketItem = currentBasket.Items.SingleOrDefault(item => item.Id == update.BasketItemId); if (basketItem == null) { return(BadRequest($"Basket item with id {update.BasketItemId} not found")); } basketItem.Quantity = update.NewQuantity; } currentBasket.Currency = data.Currency; currentBasket.CurrencyRate = data.CurrencyRate; // Save the updated basket await _repository.UpdateBasketAsync(currentBasket); return(currentBasket); }
public async Task <ActionResult <BasketData> > UpdateQuantitiesAsync([FromBody] UpdateBasketItemsRequest data) { if (!data.Updates.Any()) { return(BadRequest("No updates sent")); } // Retrieve the current basket var currentPlanner = await _basket.GetByIdAsync(data.CoursePlannerId); if (currentPlanner == null) { return(BadRequest($"Course Planner with id {data.CoursePlannerId} not found.")); } // Update with new quantities foreach (var update in data.Updates) { var course = currentPlanner.Items.SingleOrDefault(c => c.Id == update.CourseId); if (course == null) { return(BadRequest($"Course with id {update.CourseId} not found")); } //TODO basketItem.Quantity = update.NewQty; } // Save the updated basket await _basket.UpdateAsync(currentPlanner); return(currentPlanner); }