コード例 #1
0
        public void CreateOrderCustomerPizzaRelation(PizzaStore.Domain.Models.User user)
        {//create an order, attach it to a user (customerOrderCustomer). make pizza, attach it to order (customerOrderPizza)
            var newCustomerOrderCustomer = new FkCustomerOrderCustomer();

            var newOrder = new CustomerOrder();

            int custID = 0;

            foreach (var item in _db.Name.ToList())//Will only work if the name of user is already in database
            {
                if (user.Name.TextName == item.NameText)
                {
                    custID = item.NameId;
                }
            }
            newCustomerOrderCustomer.Customer = new Customer()
            {
                NameId = custID
            };                                                                     //linking user and order through customerOrderCustomer
            newCustomerOrderCustomer.CustomerOrder = newOrder;


            newOrder.OrderedFrom = user.ChosenStore.Name.TextName;
            newOrder.TotalPrice  = (decimal)user.Orders[user.Orders.Count - 1].GetTotalPrice();

            var pizzaRepo = new PizzaRepository();

            foreach (var pizza in user.Orders[user.Orders.Count - 1].Pizzas)//linking pizza and order through customerOrderPizza
            {
                var newCustomerOrderPizza = new FkCustomerOrderPizza();
                newCustomerOrderPizza.CustomerOrder = newOrder;
                newCustomerOrderPizza.Pizza         = pizzaRepo.Create(pizza);

                foreach (var top in pizza.Toppings)
                {
                    //make a new entry in fktoppingspizza to link each pizza and topping

                    foreach (var t in _db.Topping.ToList())
                    {
                        if (t.Name == top.TopName)//requires toppings to be in database //db.Toppings.FirstOrDefault(c=c.Name==pizza.Crust.Name)
                        {
                            var topPizza = new PizzaStore.Storing.FkPizzaToppingId();
                            topPizza.Pizza   = newCustomerOrderPizza.Pizza;
                            topPizza.Topping = t;
                            _db.FkPizzaToppingId.Add(topPizza);
                        }
                    }
                }

                _db.Pizza.Add(newCustomerOrderPizza.Pizza);
                _db.FkCustomerOrderPizza.Add(newCustomerOrderPizza);
            }

            _db.FkCustomerOrderCustomer.Add(newCustomerOrderCustomer);
            _db.CustomerOrder.Add(newOrder);

            _db.SaveChanges();
        }
コード例 #2
0
 public void Create(PizzaStore.Domain.Models.User user)//currently already added demo users
 {
 }