public static DomTopping Topping2DomTopping(Topping inTopping) { DomTopping outTopping = new DomTopping() { ToppingName = inTopping.TopName }; return(outTopping); }
static void OrderHistory() { oRepo.DisposeInstance(); Console.Clear(); if (currUser == null) { Console.WriteLine("Please sign in to view your order history."); WaitForInput(); return; } List <DomOrder> userHistory = oRepo.GetUserOrderList(currUser); if (userHistory.Count == 0) { Console.WriteLine("You have not made any orders yet."); WaitForInput(); return; } else { foreach (var o in userHistory) { Console.WriteLine($"Order\t\t\t\tTotal Cost: ${o.Cost}"); Console.WriteLine($"Order Status: {(OrderStatus)o.OrderStatus}\tOrder Time: {o.OrderDate}"); if (o.Pizzas.Count == 0) { o.Pizzas = pRepo.GetOrderPizzas(o); } foreach (var p in o.Pizzas) { Console.WriteLine("--------------------------------"); Console.WriteLine($"Pizza\t\t\t\tCost: ${p.Cost}"); Console.WriteLine($"Crust: {(PizzaCrust)p.Crust}\t\tSize: {(PizzaSize)p.Size}"); Console.WriteLine("Toppings: "); if (p.PizzaToppings.Count == 0) { p.PizzaToppings = pRepo.GetPizzaToppings(p); } foreach (var pt in p.PizzaToppings) { DomTopping t = pRepo.GetTopping((int)pt.ToppingId); Console.WriteLine(t.ToppingName); } } Console.WriteLine("------------------------------------------------------------------"); } userHistory = null; oRepo.DisposeInstance(); WaitForInput(); } }
static void RemovePizza() { if (currOrder == null || currOrder.Pizzas.Count == 0) { Console.WriteLine("No current order to remove pizzas from."); WaitForInput(); return; } while (true) { Console.Clear(); currOrder.CalculateCost(); Console.WriteLine("Select a pizza to remove, or type \'return\' to go back."); Console.WriteLine($"Order\t\t\t\tTotal Cost: ${currOrder.Cost}"); int i = 0; foreach (var p in currOrder.Pizzas) { Console.WriteLine("--------------------------------"); Console.WriteLine($"({i})Pizza\t\t\t\tCost: ${p.Cost}"); Console.WriteLine($"Crust: {(PizzaCrust)p.Crust}\t\tSize: {(PizzaSize)p.Size}"); Console.WriteLine("Toppings: "); foreach (var pt in p.PizzaToppings) { DomTopping t = pRepo.GetTopping((int)pt.ToppingId); Console.WriteLine(t.ToppingName); } ++i; } string input = Console.ReadLine(); if (input == "return") { return; } int choice; if (!int.TryParse(input, out choice)) { Console.WriteLine("Please input a number."); WaitForInput(); } else if (choice >= currOrder.Pizzas.Count || choice < 0) { Console.WriteLine("Please select a valid pizza number."); WaitForInput(); } else { currOrder.RemovePizza(choice); } } }
static void ViewOrder() { if (currOrder == null || currOrder.Pizzas.Count == 0) { Console.WriteLine("No current order to show."); WaitForInput(); return; } currOrder.CalculateCost(); Console.WriteLine($"Order\t\t\t\tTotal Cost: ${currOrder.Cost}"); foreach (var p in currOrder.Pizzas) { Console.WriteLine("--------------------------------"); Console.WriteLine($"Pizza\t\t\t\tCost: ${p.Cost}"); Console.WriteLine($"Crust: {(PizzaCrust)p.Crust}\t\tSize: {(PizzaSize)p.Size}"); Console.WriteLine("Toppings: "); foreach (var pt in p.PizzaToppings) { DomTopping t = pRepo.GetTopping((int)pt.ToppingId); Console.WriteLine(t.ToppingName); } } WaitForInput(); }