public async Task <IHttpActionResult> Delete(int id) { OrderedPizza orderedPizza = await db.OrderedPizzas.FindAsync(id); if (orderedPizza == null) { return(BadRequest("Unknown id.")); } Order order = await db.Orders.FindAsync(orderedPizza.Id_Order); if (order != null) { return(BadRequest("Cannot delete orderedPizza. Existing order with id: " + orderedPizza.Id_Order)); } db.OrderedPizzas.Remove(orderedPizza); try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException e) { return(BadRequest(e.Message)); } return(StatusCode(HttpStatusCode.NoContent)); }
public static void RemoveByNameAndSize (this List <OrderedPizza> list, string name, int size) { OrderedPizza requested = list.Where(op => op.Name == name && op.Diameter == size).FirstOrDefault(); list.Remove(requested); }
public IHttpActionResult Get(int id) { OrderedPizza orderedPizza = db.OrderedPizzas.Find(id); if (orderedPizza == null) { return(BadRequest("Unknown id.")); } return(Ok(orderedPizza)); }
private OrderedPizza BuildNewPizza(int sizeId, int depthId, List <int> toppingIds) { // Retrieve the selected pizza size and depth var orderedSize = _sizeService.GetById(sizeId); var orderedDepth = _depthService.GetById(depthId); // Build promos string promo1 = "Pepperoni" + "Green Peppers" + "Anchovies"; string promo2 = "Pepperoni" + "Onions" + "Red Peppers"; // Create a new pizza for the cutomer and build aout the size and depth details which have been chosen OrderedPizza orderedPizza = new OrderedPizza() { SizeId = orderedSize.Id, SizeDescription = orderedSize.Description, SizePrice = orderedSize.Price, DepthId = orderedDepth.Id, DepthDescription = orderedDepth.Description, DepthPrice = orderedDepth.Price, OrderedPizzaPrice = orderedSize.Price + orderedDepth.Price }; // Process each topping - add to a list, add list to the pizza entity and add topping prices to total pizza price List <OrderedPizzaTopping> orderedToppings = new List <OrderedPizzaTopping>(); string toppingDescs = ""; if (toppingIds?.Any() ?? false) { foreach (var item in toppingIds) { var _t = _toppingService.GetById(item); toppingDescs += _t.Description; orderedToppings.Add(new OrderedPizzaTopping { Id = _t.Id, Description = _t.Description, Price = _t.Price }); orderedPizza.OrderedPizzaPrice += _t.Price; } ; // Test and apply promos if (toppingDescs == promo1 || toppingDescs == promo2) { orderedPizza.OrderedPizzaPrice = orderedPizza.OrderedPizzaPrice - 2; } ; } ; orderedPizza.OrderedPizzaToppings = orderedToppings; return(orderedPizza); }
private PizzaListingModel BuildModel(OrderedPizza orderedPizza) { var sizes = _sizeService.GetAll(); var depths = _depthService.GetAll(); var toppings = _toppingService.GetAll(); var model = new PizzaListingModel { Sizes = sizes, Depths = depths, Toppings = toppings, CustomerPizza = orderedPizza }; return(model); }