public ActionResult <RemoveItemResponse> ClearBasket() { if (!ValidateRequest()) { return(BadRequest(new RemoveItemResponse() { Failure = new RequestFailure(Error) })); } try { this.Basket.Products.Clear(); this.DbContext.Save(); var response = new RemoveItemResponse() { Items = this.Basket.GetBasketItems(), TotalPrice = Basket.Products.Sum(x => x.Price) }; return(Ok(response)); } catch (Exception ex) { return(BadRequest(new RemoveItemResponse() { Failure = new RequestFailure(ex.Message) })); } }
public ActionResult <RemoveItemResponse> RemoveFromBasket(int id) { if (!ValidateRequest()) { return(BadRequest(new RemoveItemResponse() { Failure = new RequestFailure(Error) })); } try { var item = this.Basket.Products.Where(x => x.ExternalId == id).FirstOrDefault(); if (item == null) { throw new Exception("Cannot find item in basket."); } this.Basket.Products.Remove(item); this.DbContext.Save(); var response = new RemoveItemResponse() { Items = this.Basket.GetBasketItems(), TotalPrice = Basket.Products.Sum(x => x.Price) }; return(Ok(response)); } catch (Exception ex) { return(BadRequest(new RemoveItemResponse() { Failure = new RequestFailure(ex.Message) })); } }