Пример #1
0
        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));
        }
Пример #2
0
        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);
        }
Пример #3
0
        public IHttpActionResult Get(int id)
        {
            OrderedPizza orderedPizza = db.OrderedPizzas.Find(id);

            if (orderedPizza == null)
            {
                return(BadRequest("Unknown id."));
            }

            return(Ok(orderedPizza));
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }