static void StoreLogIn() { PrintAllStores(); var SelectedStore = _sql.SelectStore(); StoreHistory(SelectedStore); }
static void Main(string[] args) { bool userAction = true; while (userAction) { Console.WriteLine("Choose action (number)"); Console.WriteLine("" + "1. Create New User\n" + "2. Select User\n" + "3. Select Store\n" + "4. Quit"); int.TryParse(Console.ReadLine(), out int input); switch (input) { case 1: MakeNewUser(); break; case 2: PrintAllUsersEF(); var user = _sql.SelectUser(); if (!(user == null)) { UserView(user); } else { Console.WriteLine("That user does not exist"); } break; case 3: PrintAllStoresEF(); var store = _sql.SelectStore(); if (!(store == null)) { StoreView(store); } else { Console.WriteLine("That store does not exist"); } break; case 4: userAction = false; break; default: Console.WriteLine("Unknown input try again"); break; } } }
static void OrderOrHistory(User u) { Console.WriteLine("--- Hello Returning User -- type 1 to view your order history or 0 to start a new order"); int.TryParse(System.Console.ReadLine(), out int input); if (input == 1) { _sql.ReadUsersPizzas(_sql.UsersOrders(u)); } else { var ThisOrder = new Order(); ThisOrder.UserEntityId = u.EntityId; PrintAllStoresEF(); Console.WriteLine("--- Type Store Name to select a store ---"); u.SelectedStore = _sql.SelectStore(); u.SelectedStore.CreateOrder(); u.Orders = u.SelectedStore.Orders; u.Orders.Add(u.SelectedStore.Orders.Last()); ThisOrder = u.SelectedStore.Orders.Last(); ThisOrder.DisplayPizzaOptions(); ThisOrder.AddPizza(); _sql.Update(); _sql.ReviewOrder(ThisOrder); u.SelectedStore.Revenue = u.SelectedStore.Revenue + ThisOrder.Total; _sql.Update(); Console.WriteLine(u); ViewStoreRev(u.SelectedStore); } }
static void UserView() { var user = new User(); PrintAllStoresWithEF(); user.SelectedStore = _sql.SelectStore(); Console.WriteLine("Would you like to access the store as an employee or a customer?"); Console.WriteLine("Enter '1' for employee or '2' for customer"); int Access = int.Parse(Console.ReadLine()); if (Access == 2) { Console.WriteLine("You selected customer access."); PrintAllPizzasWithEF(); Console.WriteLine("Select a pizza where 1 selects Cheese Pizza and 5 selects Veggie Pizza"); user.SelectedStore.CreateOrder(); //user.Orders.Add(user.SelectedStore.Orders.Last()); //user.Orders.Last().MakeMeatPizza(); //_sql.Update(user.SelectedStore); } if (Access == 1) { Console.WriteLine("You selected employee access."); //Employee store access } if (Access != 1 & Access != 2) { Console.WriteLine("Please start over and provide a valid entry."); } //System.Console.WriteLine(user); }
static void UserView(User user) { System.Console.Clear(); var stay = true; do { System.Console.WriteLine("would you like to view your history (h), place an order (o), or logout (x)?"); var select = System.Console.ReadLine(); if (select.Equals("h")) { System.Console.Clear(); foreach (var o in user.Orders) { System.Console.WriteLine(o.ToString()); } } else if (select.Equals("o")) { System.Console.WriteLine("Please select a store by typing its name :"); PrintAllStoresWithEF(); var SelectedStore = _sql.SelectStore(); List <APizzaModel> SelectedPizzas = _client.SelectPizzas(); System.Console.Clear(); SelectedStore.CreateOrder(SelectedPizzas); user.Orders.Add(SelectedStore.Orders.Last()); _sql.SaveOrder(user.Orders.Last()); _sql.Update(); System.Console.WriteLine("Here are all the pizzas you ordered::"); System.Console.WriteLine(user.Orders.Last().ToString()); } else if (select.Equals("x")) { stay = false; System.Console.WriteLine("Have a nice day!"); } else { System.Console.WriteLine("No valid selection made, please try again"); } } while (stay); }
private static MainMenu SelectTheStore(User user) { PrintItems <Store>(GetAllStores().ToList()); Console.WriteLine("Please select a store by its given numbers or any other number to quit: "); user.SelectedStore = _sql.SelectStore(); if (user.SelectedStore == null) { return(MainMenu.Quit); } return(MainMenu.StoresOptions); }
static void UserView() { Console.WriteLine("Please type 1 for Store, 2 for User"); string InitialChoice = Console.ReadLine(); if (InitialChoice == "1") { Console.WriteLine("Please enter the name of your store for orders (One, Two, Three)"); Store StoreChoice = _sql.SelectStore(); PrintOrdersOfStore(StoreChoice); Environment.Exit(0); } else if (InitialChoice == "2") { Console.WriteLine("Are you a returning (1) or new (2) user?"); string NewOrReturning = Console.ReadLine(); if (NewOrReturning == "1") { Console.WriteLine("Welcome back! Please enter your user name."); string ReturningName = Console.ReadLine(); Console.WriteLine($"Hi {ReturningName}! Would you like to view your previous orders (1) or create a new one (2)"); string Choice2 = Console.ReadLine(); if (Choice2 == "1") { User user = _sql.ReadUser(ReturningName); PrintOrdersOfUser(user); } else if (Choice2 == "2") { User user = _sql.ReadUser(ReturningName); Console.WriteLine("Please type the name of the store you wish to worder from."); PrintAllStoresWithEF(); user.SelectedStore = _sql.SelectStore(); user.SelectedStore.CreateOrder(); user.Orders.Add(user.SelectedStore.Orders.Last()); string UserChoice = null; do { _client.PrintPizzaChoice(); string AddPizza = Console.ReadLine(); switch (AddPizza) { case "1": user.Orders.Last().MakeMeatPizza(); break; case "2": user.Orders.Last().MakeVeggiePizza(); break; case "3": user.Orders.Last().MakeHawaiianPizza(); break; case "4": UserChoice = AddPizza; break; } }while (UserChoice != "4"); string UserChoice2 = null; do { Console.WriteLine("Here is your order and order total. To order, enter 4. To delete a pizza, enter 1 (MeaPizza), 2 (VeggiePizza), 3 (Hawaiian Pizza)"); System.Console.WriteLine(user); System.Console.WriteLine(user.SelectedStore.Orders.Last()); string RemovePizza = Console.ReadLine(); switch (RemovePizza) { case "1": user.Orders.Last().RemoveMeatPizza(); break; case "2": user.Orders.Last().RemoveVeggiePizza(); break; case "3": user.Orders.Last().RemoveHawaiianPizza(); break; case "4": UserChoice2 = RemovePizza; break; } }while (UserChoice2 != "4"); System.Console.WriteLine(user); System.Console.WriteLine(user.SelectedStore.Orders.Last()); _sql.Update(); } } else if (NewOrReturning == "2") { Console.WriteLine("Welcome! Please enter a username"); string name = Console.ReadLine(); User user = _sql.CreateUser(name); Console.WriteLine("Please type the name of the store you wish to worder from"); PrintAllStoresWithEF(); user.SelectedStore = _sql.SelectStore(); user.SelectedStore.CreateOrder(); user.Orders.Add(user.SelectedStore.Orders.Last()); string UserChoice = null; do { _client.PrintPizzaChoice(); string AddPizza = Console.ReadLine(); switch (AddPizza) { case "1": user.Orders.Last().MakeMeatPizza(); break; case "2": user.Orders.Last().MakeVeggiePizza(); break; case "3": user.Orders.Last().MakeHawaiianPizza(); break; case "4": UserChoice = AddPizza; break; } }while (UserChoice != "4"); string UserChoice2 = null; do { Console.WriteLine("Here is your order and order total. To order, enter 4. To delete a pizza, enter 1 (MeaPizza), 2 (VeggiePizza), 3 (Hawaiian Pizza)"); System.Console.WriteLine(user); System.Console.WriteLine(user.SelectedStore.Orders.Last()); string RemovePizza = Console.ReadLine(); switch (RemovePizza) { case "1": user.Orders.Last().RemoveMeatPizza(); break; case "2": user.Orders.Last().RemoveVeggiePizza(); break; case "3": user.Orders.Last().RemoveHawaiianPizza(); break; case "4": UserChoice2 = RemovePizza; break; } }while (UserChoice2 != "4"); System.Console.WriteLine(user); System.Console.WriteLine(user.SelectedStore.Orders.Last()); _sql.Update(); } } }
static void UserView() { PrintAllUsersWithEF(); Console.WriteLine("Please input the name of the user you want."); User user; try { user = _sql.SelectUser(); } catch { Console.WriteLine("That's not a valid user, fool!"); return; } PrintAllStoresWithEF(); Console.WriteLine("Please input the name of the store you want."); try { user.SelectedStore = _sql.SelectStore(); } catch { Console.WriteLine("That's not a valid store, fool!"); return; } Console.WriteLine("Please select the type of pizza you'd like to order."); Console.WriteLine("Basic: $19.99"); Console.WriteLine("Meat Lovers: $29.99"); Console.WriteLine("Vegetarian: $24.99"); Console.WriteLine("Custom: $9.99 before customization"); Console.WriteLine("Or, type 'userorder' to view your own order history."); Console.WriteLine("Or, type 'storeorder' to view the store's order history."); string input = Console.ReadLine().ToUpper(); switch (input) { case "BASIC": Console.WriteLine("You have selected the basic pizza."); user.SelectedStore.CreateOrder(); user.Orders.Add(user.SelectedStore.Orders.Last()); user.Orders.Last().MakePizza("NORMAL", "MEDIUM", "cheese", "pepperoni", "", "", ""); break; case "MEAT LOVERS": Console.WriteLine("You have selected the meat lovers pizza."); user.SelectedStore.CreateOrder(); user.Orders.Add(user.SelectedStore.Orders.Last()); user.Orders.Last().MakePizza("NORMAL", "MEDIUM", "cheese", "pepperoni", "bacon", "ham", ""); break; case "VEGETARIAN": Console.WriteLine("You have selected the vegetarian pizza."); user.SelectedStore.CreateOrder(); user.Orders.Add(user.SelectedStore.Orders.Last()); user.Orders.Last().MakePizza("NORMAL", "MEDIUM", "cheese", "pineapple", "onion", "", ""); break; case "CUSTOM": Console.WriteLine("You have decided to build your own pizza."); Console.WriteLine("Please select a size."); Console.WriteLine("Normal: No price change"); Console.WriteLine("Large: +$5.00"); Console.WriteLine("Small: -$5.00"); string size = Console.ReadLine().ToUpper(); switch (size) { case "NORMAL": Console.WriteLine("You have selected a normal pizza."); break; case "LARGE": Console.WriteLine("You have selected a large pizza."); break; case "SMALL": Console.WriteLine("You have selected a small pizza."); break; default: Console.WriteLine("That's not a valid size, fool!"); return; } Console.WriteLine("Please select a crust."); Console.WriteLine("Normal: No price change"); Console.WriteLine("Cheese: +$5.00"); string crust = Console.ReadLine().ToUpper(); switch (crust) { case "NORMAL": Console.WriteLine("You have selected a normal crust."); break; case "CHEESE": Console.WriteLine("You have selected a cheese crust."); break; default: Console.WriteLine("That's not a valid crust, fool!"); return; } bool exit = false; bool cheese = false; bool pepperoni = false; bool bacon = false; bool ham = false; bool pineapple = false; bool onion = false; int toppingCount = 0; string input2; while (exit == false) { Console.WriteLine("Please select two to five toppings (+$5.00 each)."); if (cheese == false) { Console.WriteLine("Extra Cheese: Off"); } else { Console.WriteLine("Extra Cheese: On"); } if (pepperoni == false) { Console.WriteLine("Pepperoni: Off"); } else { Console.WriteLine("Pepperoni: On"); } if (bacon == false) { Console.WriteLine("Bacon: Off"); } else { Console.WriteLine("Bacon: On"); } if (ham == false) { Console.WriteLine("Ham: Off"); } else { Console.WriteLine("Ham: On"); } if (pineapple == false) { Console.WriteLine("Pineapple: Off"); } else { Console.WriteLine("Pineapple: On"); } if (onion == false) { Console.WriteLine("Onion: Off"); } else { Console.WriteLine("Onion: On"); } if (toppingCount >= 2 && toppingCount <= 5) { Console.WriteLine("Type 'done' to finish."); } input2 = Console.ReadLine().ToUpper(); switch (input2) { case "CHEESE": if (cheese == true) { cheese = false; toppingCount--; } else { cheese = true; toppingCount++; } break; case "EXTRA CHEESE": if (cheese == true) { cheese = false; toppingCount--; } else { cheese = true; toppingCount++; } break; case "PEPPERONI": if (pepperoni == true) { pepperoni = false; toppingCount--; } else { pepperoni = true; toppingCount++; } break; case "BACON": if (bacon == true) { bacon = false; toppingCount--; } else { bacon = true; toppingCount++; } break; case "HAM": if (ham == true) { ham = false; toppingCount--; } else { ham = true; toppingCount++; } break; case "PINEAPPLE": if (pineapple == true) { pineapple = false; toppingCount--; } else { pineapple = true; toppingCount++; } break; case "ONION": if (onion == true) { onion = false; toppingCount--; } else { onion = true; toppingCount++; } break; case "DONE": if (toppingCount >= 2 && toppingCount <= 5) { exit = true; } else { Console.WriteLine("You must have between two and five toppings."); } break; default: Console.WriteLine("That's not a valid topping, fool!"); break; } } user.SelectedStore.CreateOrder(); user.Orders.Add(user.SelectedStore.Orders.Last()); string[] toppings = new string[5]; toppings[0] = ""; toppings[1] = ""; toppings[2] = ""; toppings[3] = ""; toppings[4] = ""; for (int i = 0; i < 5; i++) { if (cheese == true) { toppings[i] = "extra_cheese"; cheese = false; continue; } if (pepperoni == true) { toppings[i] = "pepperoni"; pepperoni = false; continue; } if (bacon == true) { toppings[i] = "bacon"; bacon = false; continue; } if (ham == true) { toppings[i] = "ham"; ham = false; continue; } if (pineapple == true) { toppings[i] = "pineapple"; pineapple = false; continue; } if (onion == true) { toppings[i] = "onion"; onion = false; continue; } } user.Orders.Last().MakePizza(crust, size, toppings[0], toppings[1], toppings[2], toppings[3], toppings[4]); break; case "USERORDER": Console.WriteLine("You have decided to view your own order history."); IEnumerable <Order> myOrders = _sql.ReadAllOrders(); IEnumerable <APizzaModel> myPizzas = _sql.ReadAllPizzas(); List <Order> listOfOrders = new List <Order>(); foreach (var o in myOrders) { if (o.UserEntityId == user.EntityId) { listOfOrders.Add(o); } } foreach (var p in myPizzas) { foreach (var o in listOfOrders) { if (p.OrderEntityId == o.EntityId) { Console.WriteLine(p + ", Price: " + o.Price); } } } break; case "STOREORDER": Console.WriteLine("You have decided to view the store's order history."); myOrders = _sql.ReadAllOrders(); myPizzas = _sql.ReadAllPizzas(); listOfOrders = new List <Order>(); foreach (var o in myOrders) { if (o.StoreEntityId1 == user.SelectedStore.EntityId) { listOfOrders.Add(o); } } foreach (var p in myPizzas) { foreach (var o in listOfOrders) { if (p.OrderEntityId == o.EntityId) { Console.WriteLine(p + ", Price: " + o.Price); } } } break; default: Console.WriteLine("That's not a valid option, fool!"); return; } _sql.Update(); }
static void UserView() { PrintMessage("Welcome to PizzaWorld!"); PrintMessage("What are you?"); DisplayOptions(new string[] { "a) Customer", "b) Store" }); string identityInput = Console.ReadLine(); if (identityInput == "a") // Customer { PrintMessage("Please sign in or create an account:"); DisplayOptions(new string[] { "a) Sign In", "b) Create Account" }); string accountInput = Console.ReadLine(); User user = null; string usernameInput = ""; string passwordInput = ""; if (accountInput == "a") { do { PrintMessage("Enter Username"); usernameInput = Console.ReadLine(); PrintMessage("Enter Password"); passwordInput = Console.ReadLine(); user = _sql.GetUserIfCredentialsAreValid(usernameInput, passwordInput); if (user == null) { PrintMessage("Your credentials were incorrect. Please try again"); } } while (user == null); } else if (accountInput == "b") { bool AlreadyExists = false; do { PrintMessage("Select Username"); usernameInput = Console.ReadLine(); AlreadyExists = _sql.CheckIfUsernameExists(usernameInput); if (AlreadyExists) { PrintMessage("Your chosen username has been taken. Please try another one"); } } while (AlreadyExists); PrintMessage("Select Password"); passwordInput = Console.ReadLine(); user = new User(usernameInput, passwordInput); _sql.SaveUser(user); } PrintAllStoresWithEF(); user.SelectedStore = _sql.SelectStore(); _sql.Update(user.SelectedStore); // this line is just in case the user cancels their order CreateAndProcessOrder(user); } else if (identityInput == "b") // Store { PrintAllStoresWithEF(); var SelectedStore = _sql.SelectStore(); string storeActionInput = ""; do { PrintMessage("What would you like to do next?"); DisplayOptions(new string[] { "a) Show Order History", "b) Show Sales History", "c) Exit" }); storeActionInput = Console.ReadLine(); switch (storeActionInput) { case "a": _sql.DisplayStoreOrderHistory(SelectedStore); break; case "b": _sql.DisplayStoreSales(SelectedStore); break; case "c": PrintMessage("Thank you. Come again!"); break; default: break; } } while (storeActionInput != "c"); } }
static void UserView() { Console.WriteLine("\n\nWelcome to PizzaCo!"); if (u == null) { UserEntry(); } Console.WriteLine("\nHow may we help you today?"); int i = NewOrModify(); if (i == 1) //Create a new order { Console.WriteLine("\nWhat store would you like to order from?"); PrintAllStores(); u.SelectedStore = _sql.SelectStore(); u.SelectedStore.CreateOrder(); Order o = u.SelectedStore.Orders.Last(); u.Orders.Add(o); Payment(u, o); } else if (i == 2 | i == 3) //Modify/delete an old order { Console.WriteLine("\nWhat store was the order placed at?"); PrintAllStores(); u.SelectedStore = _sql.SelectStore(); if (i == 3) //modify { Console.WriteLine("\nWhat order would you like to modify? \n(Orders are displayed oldest to most recent) \n(You cannot modify orders that have already been delivered; they are not on the list)"); u.PrintUndeliveredOrders(); Order o = u.SelectOrder(); o = u.SelectedStore.ModifyOrder(o, u); Payment(u, o); } else //delete { Console.WriteLine("\nWhat order would you like to cancel? \n(Orders are displayed oldest to most recent) \n(You cannot cancel orders that have already been delivered; they are not on the list)"); u.PrintUndeliveredOrders(); Order o = u.SelectOrder(); u.SelectedStore.DeleteOrder(o, u); } } else if (i == 4) //Display all previous orders { u.PrintOrders(); Console.WriteLine("\nWould you also like to make, modify, or cancel an order? (Y/N)"); string s = Console.ReadLine().Trim().ToLower(); if (s == "y" | s == "yes") { UserView(); } while (s != "y" & s != "yes") { if (s == "y" | s == "yes") { UserView(); } else if (s == "n" | s == "no") { break; } else { Console.WriteLine("\nSorry, we didn't catch that. Could you please repeat it?"); s = Console.ReadLine().Trim().ToLower(); } } } else //If the input was invalid { Console.WriteLine("\nSorry, we didn't catch that. Could you please repeat it?"); NewOrModify(); } //Save this operation to the database and ask if the user wants another operation _sql.Update(u.SelectedStore, u); Console.WriteLine("\nThank you for using PizzaCo Online! \nIs there more you would like to do on our site? (Y/N)"); if (YesNo()) { UserView(); } else { Console.WriteLine("\nHave a lovely day!"); } }