static void Main(string[] args) { Console.WriteLine("Welcome to the Vendo-Matic 800!"); decimal currentBalance = 0.00M; VendingMachine vendoMatic = new VendingMachine(); SalesReport salesReport = new SalesReport(); MainMenu main = new MainMenu(); PurchaseMenu purchase = new PurchaseMenu(); Money money = new Money(currentBalance); bool showMainMenu = true; while (showMainMenu) { main.DisplayMainMenu(); string userInputMain = Console.ReadLine(); switch (userInputMain) { case "1": vendoMatic.DisplayItems(); main.menuSpacer(); showMainMenu = true; break; case "2": purchase.PurchaseItemsMenu(money.CurrentBalance); showMainMenu = true; break; //case "4": // Console.WriteLine("Sales Report"); // main.menuSpacer(); // //PrintSalesReport(); // showMainMenu = true; // break; case "3": //salesReport.LogSalesReport(); showMainMenu = false; break; default: Console.WriteLine(main.InvalidOption()); showMainMenu = true; break; } } main.menuSpacer(); Console.WriteLine("Thank you! Please come again!"); }
/// <summary> /// Runs main menu for our vending machine. Inputs are location of files for program. /// </summary> /// <param name="inventoryList"></param> /// <param name="logs"></param> /// <param name="salesReport"></param> public static void MainMenu(VendingMachine vendingMachine) { bool isExit = false; while (!isExit) { Console.Clear(); Console.WriteLine("Welcome to Vendo-Matic 600!"); Console.WriteLine("by Umbrella Corp."); Console.WriteLine(); Console.WriteLine("Menu options:"); Console.WriteLine($"{DISPLAY_KEY.ToString().Substring(1)}. Display items."); Console.WriteLine($"{PURCHASE_KEY.ToString().Substring(1)}. Purchase items."); Console.WriteLine($"{EXIT_KEY.ToString().Substring(1)}. Exit."); var menuSelection = Console.ReadKey().Key; if (menuSelection == DISPLAY_KEY) { DisplayMenu.DisplayItemsMenu(vendingMachine); } else if (menuSelection == PURCHASE_KEY) { PurchaseMenu.PurchaseItemsMenu(vendingMachine); } else if (menuSelection == EXIT_KEY) { isExit = true; } else if (menuSelection == REPORT_KEY) { vendingMachine.MakeSalesReport(); DisplayMessage("A new Sales Report has been generated."); } } }