public async Task <IActionResult> RemoveItems([FromBody] RemoveItemsRequest request) { if (request == null) { return(BadRequest()); } var customer = await GetCustomer(); await _serviceProvider.New <BasketService>().RemoveItemsFromBasket(customer.Id, request); return(Ok()); }
public async Task RemoveItemsFromBasket(Guid customerId, RemoveItemsRequest request) { var basket = await GetCustomerBasket(customerId); var item = basket?.Items?.FirstOrDefault(x => x.ProductId == request.ProductId); var quantity = request.Quantity ?? 0; if (item != null) { if (request.RemoveAll ?? false || quantity >= item.Quantity) { _checkoutContext.Remove(item); } else if (quantity > 0) { item.Quantity -= quantity; } await _checkoutContext.SaveChangesAsync(); } }
public async Task RemoveItemsFromBasket(RemoveItemsRequest request) { await _http.Delete("api/basket/items", request); }