public void Login() { if (_user != null) { System.Console.WriteLine("Please log out before logging into a different acount..."); return; } System.Console.WriteLine("Logging in..."); System.Console.Write("Enter user id: "); int id = System.Convert.ToInt32(System.Console.ReadLine()); Data.Entities.User dbUser = _db.User.Find(id); Data.Entities.Name dbName = _db.Name.Find(dbUser.NameId); if (dbUser == null) { System.Console.WriteLine("Invalid user id"); return; } _user = new User() { Name = new Name() { First = dbName.FirstName, Last = dbName.LastName }, Id = id }; _user.OrderHistory = new List <Order>(); foreach (Data.Entities.Order o in _db.Order.ToList()) { if (o.UserId == id) { Order order = new Order(_user); foreach (Data.Entities.Pizza p in _db.Pizza.ToList()) { if (p.OrderId == o.OrderId) { Data.Entities.Crust pizzaCrust = _db.Crust.Find(p.CrustId); Data.Entities.Size pizzaSize = _db.Size.Find(p.SizeId); Pizza pizza = new Pizza() { Crust = new Crust(p.Crust.Name, p.Crust.Price) { Id = p.CrustId }, Size = new Size(p.Size.Name, p.Size.Price) { Id = p.SizeId } }; Data.Entities.Topping topping; topping = _db.Topping.Find(p.ToppingId1); if (p.ToppingId1 != null) { pizza.AddTopping(new Topping(topping.Name, topping.Price) { Id = topping.ToppingId }); } topping = _db.Topping.Find(p.ToppingId2); if (p.ToppingId2 != null) { pizza.AddTopping(new Topping(topping.Name, topping.Price) { Id = topping.ToppingId }); } topping = _db.Topping.Find(p.ToppingId3); if (p.ToppingId3 != null) { pizza.AddTopping(new Topping(topping.Name, topping.Price) { Id = topping.ToppingId }); } topping = _db.Topping.Find(p.ToppingId4); if (p.ToppingId4 != null) { pizza.AddTopping(new Topping(topping.Name, topping.Price) { Id = topping.ToppingId }); } topping = _db.Topping.Find(p.ToppingId5); if (p.ToppingId5 != null) { pizza.AddTopping(new Topping(topping.Name, topping.Price) { Id = topping.ToppingId }); } order.AddToOrder(pizza); } } order.CalculatePrice(); _user.OrderHistory.Add(order); } } }
public void CreatePizza() { System.Console.Write("What kind of pizza?: "); string pizzaType = System.Console.ReadLine(); int sizeId, crustId, topping1Id, topping2Id; Data.Entities.Size pizzaSize; Data.Entities.Crust pizzaCrust; Data.Entities.Topping pizzaTopping1, pizzaTopping2; Pizza pizza; switch (pizzaType) { case "custom": System.Console.WriteLine("Selecting size..."); foreach (Data.Entities.Size s in _db.Size.ToList()) { System.Console.WriteLine($"{s.SizeId}: {s.Name} ${s.Price}"); } System.Console.Write("Enter size id: "); sizeId = System.Convert.ToInt32(System.Console.ReadLine()); pizzaSize = _db.Size.Find(sizeId); if (pizzaSize == null) { System.Console.WriteLine("Please enter a valid id and try again..."); return; } System.Console.WriteLine("Selecting crust..."); foreach (Data.Entities.Crust c in _db.Crust.ToList()) { System.Console.WriteLine($"{c.CrustId}: {c.Name} ${c.Price}"); } System.Console.Write("Enter crust id: "); crustId = System.Convert.ToInt32(System.Console.ReadLine()); pizzaCrust = _db.Crust.Find(crustId); if (pizzaCrust == null) { System.Console.WriteLine("Please enter a valid id and try again..."); return; } System.Console.WriteLine("Selecting toppings..."); foreach (Data.Entities.Topping t in _db.Topping.ToList()) { System.Console.WriteLine($"{t.ToppingId}: {t.Name} ${t.Price}"); } System.Console.Write("Enter first topping id: "); topping1Id = System.Convert.ToInt32(System.Console.ReadLine()); pizzaTopping1 = _db.Topping.Find(topping1Id); System.Console.Write("Enter second topping id: "); topping2Id = System.Convert.ToInt32(System.Console.ReadLine()); pizzaTopping2 = _db.Topping.Find(topping2Id); pizza = new Pizza() { Size = new Size(pizzaSize.Name, pizzaSize.Price) { Id = sizeId }, Crust = new Crust(pizzaCrust.Name, pizzaCrust.Price) { Id = crustId } }; if (pizzaTopping1 != null) { pizza.AddTopping(new Topping(pizzaTopping1.Name, pizzaTopping1.Price) { Id = topping1Id }); } if (pizzaTopping2 != null) { pizza.AddTopping(new Topping(pizzaTopping2.Name, pizzaTopping2.Price) { Id = topping2Id }); } _user.CurrentOrder.AddToOrder(pizza); break; case "preset": CreatePresetPizza(); break; } }