Exemple #1
0
        private IEnumerable <OrderDisplayViewModel> GetOrders()
        {
            var orders = new List <OrderDisplayViewModel>();

            foreach (var o in _context.Orders.Where(o => o.Processed == false))
            {
                var viewModel = new OrderDisplayViewModel
                {
                    Order = new Order
                    {
                        Id       = o.Id,
                        Customer = _context.Customers.FirstOrDefault(c => o.CustomerId == c.Id),
                        Pizza    = _context.Pizzas.FirstOrDefault(p => o.PizzaId == p.Id)
                    }
                };
                viewModel.PizzaSize  = _context.PizzaAttributes.First(pa => pa.Id == viewModel.Order.Pizza.Size).Value;
                viewModel.PizzaCrust = _context.PizzaAttributes.First(pa => pa.Id == viewModel.Order.Pizza.Crust).Value;

                if (viewModel.Order.Pizza.Topping != null)
                {
                    foreach (var topping in viewModel.Order.Pizza.Topping.Split(','))
                    {
                        viewModel.PizzaTopping += ", " + _context.PizzaAttributes.First(pa => pa.Id.ToString() == topping).Value;
                    }
                    viewModel.PizzaTopping = viewModel.PizzaTopping.Substring(2, viewModel.PizzaTopping.Length - 2);
                }
                orders.Add(viewModel);
            }
            return(orders);
        }
Exemple #2
0
        public ActionResult Save()
        {
            var customer = TempData["customer"] as Customer;
            var pizza    = _context.Pizzas.OrderByDescending(p => p.Id).First();

            var amount = (double)TempData["amount"];

            var order = new Order
            {
                //CustomerId = customer.Id,
                Customer = customer,
                PizzaId  = pizza.Id,
                Amount   = amount
            };

            _context.Orders.Add(order);
            _context.SaveChanges();

            var pizzaToppings = string.Empty;

            pizzaToppings += string.Join(",", _context.PizzaAttributes.Where(pa => _context.PizzaToppings.Where(pt => pt.Pizza == pizza.Id).Select(x => x.Topping).Contains(pa.Id)).Select(y => y.Value));
            //foreach (var pizzaTopping in _context.PizzaToppings.Where(pt => pt.Pizza == pizza.Id))
            //{
            //    pizzaToppings += string.Join(",", _context.PizzaAttributes.FirstOrDefault(pa => pa.Id == pizzaTopping.Topping).Value);
            //}
            var orderDisplay = new OrderDisplayViewModel
            {
                Order        = order,
                PizzaSize    = _context.PizzaAttributes.FirstOrDefault(pa => pa.Id == pizza.Size).Value,
                PizzaCrust   = _context.PizzaAttributes.FirstOrDefault(pa => pa.Id == pizza.Crust).Value,
                PizzaTopping = pizzaToppings
            };

            return(View(orderDisplay));
        }