예제 #1
0
        public ActionResult GetCartContent()
        {
            if (_cart.Order.IsEmpty)
            {
                return(Ok("Your cart is empty"));
            }

            var viewCartContent = new ResponseViewModel();

            double totalPrice = 0;

            foreach (var pizzaOrder in _cart.Order.Pizzas)
            {
                var pizzaDisplayModel = new PizzaViewModel();

                foreach (var ingredient in pizzaOrder.PizzaIngredients)
                {
                    var ingredientModel = new IngredientViewModel();
                    ingredientModel.Name = ingredient.Name;
                    pizzaDisplayModel.PizzaIngredients.Add(ingredientModel);
                }

                foreach (var extraIngredient in pizzaOrder.ExtraIngredients)
                {
                    var extraIngredientModel = new ExtraIngredientViewModel();
                    extraIngredientModel.Name       = extraIngredient.Name;
                    extraIngredientModel.MenuNumber = extraIngredient.MenuNumber;
                    extraIngredientModel.Price      = extraIngredient.Price;
                    pizzaDisplayModel.ExtraIngredients.Add(extraIngredientModel);
                }

                pizzaDisplayModel.PizzaId    = pizzaOrder.Id;
                pizzaDisplayModel.MenuNumber = pizzaOrder.MenuNumber;
                pizzaDisplayModel.Name       = pizzaOrder.Name;
                pizzaDisplayModel.Price      = pizzaOrder.Price;
                totalPrice += pizzaOrder.Price;

                viewCartContent.Pizzas.Add(pizzaDisplayModel);
            }

            foreach (var sodaOrder in _cart.Order.Sodas)
            {
                var sodaDisplayModel = new SodaViewModel();

                sodaDisplayModel.Name       = sodaOrder.Name;
                sodaDisplayModel.MenuNumber = sodaOrder.MenuNumber;
                sodaDisplayModel.Price      = sodaOrder.Price;
                totalPrice += sodaOrder.Price;

                viewCartContent.Sodas.Add(sodaDisplayModel);
            }

            viewCartContent.TotalPrice = totalPrice;

            return(Ok(viewCartContent));
        }
        public async Task <IActionResult> Get()
        {
            var menu = await _context.Menus
                       .Select(x => new
            {
                x.PizzaMenu,
                x.SodaMenu,
                x.IngredientMenu
            })
                       .FirstOrDefaultAsync();

            var menuDisplayModel = new MenuViewModel();

            foreach (var pizza in menu.PizzaMenu)
            {
                var pizzaDisplayModel = new PizzaMenuViewModel();

                pizzaDisplayModel.MenuNumber = pizza.MenuNumber;
                pizzaDisplayModel.Name       = pizza.Name;
                pizzaDisplayModel.Price      = pizza.Price;

                foreach (var ingredient in pizza.PizzaIngredients)
                {
                    var ingredientDisplayModel = new IngredientViewModel();
                    ingredientDisplayModel.Name = ingredient.Name;
                    pizzaDisplayModel.PizzaIngredients.Add(ingredientDisplayModel);
                }
                menuDisplayModel.Pizzas.Add(pizzaDisplayModel);
            }

            foreach (var soda in menu.SodaMenu)
            {
                var sodaDisplayModel = new SodaViewModel();
                sodaDisplayModel.MenuNumber = soda.MenuNumber;
                sodaDisplayModel.Name       = soda.Name;
                sodaDisplayModel.Price      = soda.Price;
                menuDisplayModel.Sodas.Add(sodaDisplayModel);
            }

            foreach (var extraIngredient in menu.IngredientMenu)
            {
                var extraIngredientDisplayModel = new ExtraIngredientViewModel();
                extraIngredientDisplayModel.MenuNumber = extraIngredient.MenuNumber;
                extraIngredientDisplayModel.Name       = extraIngredient.Name;
                extraIngredientDisplayModel.Price      = extraIngredient.Price;
                menuDisplayModel.ExtraIngredients.Add(extraIngredientDisplayModel);
            }

            return(Ok(menuDisplayModel));
        }
예제 #3
0
        public async Task <IActionResult> Get()
        {
            // All non-completed orders
            var orders = await _context.Orders
                         .Where(x => x.IsActive)
                         .Select(x => new
            {
                x.Id,
                x.Pizzas,
                x.Sodas,
                x.TotalPrice
            }).ToListAsync();

            var viewActiveOrders = new List <ResponseViewModel>();

            double totalPrice = 0;

            foreach (var order in orders)
            {
                var viewActiveOrderModel = new ResponseViewModel();
                foreach (var pizza in order.Pizzas)
                {
                    var viewPizza = new PizzaViewModel();

                    foreach (var ingredient in pizza.PizzaIngredients)
                    {
                        var viewIngredient = new IngredientViewModel();
                        viewIngredient.Name = ingredient.Name;
                        viewPizza.PizzaIngredients.Add(viewIngredient);
                    }

                    foreach (var extraIngredient in pizza.ExtraIngredients)
                    {
                        var viewExtraIngredient = new ExtraIngredientViewModel();
                        viewExtraIngredient.MenuNumber = extraIngredient.MenuNumber;
                        viewExtraIngredient.Name       = extraIngredient.Name;
                        viewExtraIngredient.Price      = extraIngredient.Price;
                        viewPizza.ExtraIngredients.Add(viewExtraIngredient);
                    }

                    viewPizza.PizzaId    = pizza.Id;
                    viewPizza.MenuNumber = pizza.MenuNumber;
                    viewPizza.Name       = pizza.Name;
                    viewPizza.Price      = pizza.Price;
                    totalPrice          += pizza.Price;
                    viewActiveOrderModel.Pizzas.Add(viewPizza);
                }
                foreach (var soda in order.Sodas)
                {
                    var viewSoda = new SodaViewModel();
                    viewSoda.MenuNumber = soda.MenuNumber;
                    viewSoda.Name       = soda.Name;
                    viewSoda.Price      = soda.Price;
                    totalPrice         += soda.Price;
                    viewActiveOrderModel.Sodas.Add(viewSoda);
                }
                viewActiveOrderModel.OrderId    = order.Id;
                viewActiveOrderModel.TotalPrice = totalPrice;
                viewActiveOrders.Add(viewActiveOrderModel);
                totalPrice = 0;
            }

            return(Ok(viewActiveOrders));
        }