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(); }
public void Create(PizzaStore.Domain.Models.User user)//currently already added demo users { }