public string SelectProduct(string input) { if (!Inventory.ContainsKey(input)) { return("Bad item code! Please try again."); } else if (UserMoney < Inventory[input].Price) { return("Not enough money! Please insert more money."); } else if (Inventory[input].Quantity == 0) { return("That item is gone! Please select a different item."); } else { double startLog = UserMoney; Inventory[input].ConsumeItem(); string changedItem = Inventory[input].Name; if (SalesCount.ContainsKey(changedItem)) { SalesCount[changedItem]++; } UserMoney -= Inventory[input].Price; Bank += Inventory[input].Price; double endLog = UserMoney; ReadWriteData.WriteLog($"{Inventory[input].Name} {Inventory[input].Slot}", startLog, endLog); return(Inventory[input].ConsumeMessage); } }
public VendingMachine() { UserMoney = 0; Inventory = ReadWriteData.ReadInventory(); SalesCount = ReadWriteData.ReadSales(); Bank = Convert.ToDouble(SalesCount["Bank"] / 100); }
public void FeedMoney(int input) { double startLog = input; UserMoney += input; double endLog = UserMoney; ReadWriteData.WriteLog("FEED MONEY:", startLog, endLog); }
public string MakeChange() { double startLog = UserMoney; UserMoney *= 100; if (UserMoney == 0) { return(""); } int cents = Convert.ToInt32(UserMoney); int D = 0; int P = 0; int N = 0; string coins = ""; int Q = cents / 25; if (Q > 0) { if (Q == 1) { coins += Q + " Quarter "; } else { coins += Q + " Quarters "; } cents %= 25; } D = cents / 10; if (D > 0) { if (D == 1) { coins += D + " Dime "; } else { coins += D + " Dimes "; } cents %= 10; } N = cents / 5; if (N > 0) { if (N == 1) { coins += N + " Nickel "; } else { coins += N + " Nickels "; } cents %= 5; } P = cents; if (P > 0) { if (P == 1) { coins += P + " Penny "; } else { coins += P + " Pennies "; } } UserMoney = 0; SalesCount["Bank"] = Convert.ToInt32(Bank * 100); ReadWriteData.WriteSales(SalesCount); double endLog = UserMoney; ReadWriteData.WriteLog("MAKE CHANGE:", startLog, endLog); return(coins + "returned."); }
public bool MainMenu() { Console.Clear(); Console.WriteLine("(1) Display Vending Machine Items"); Console.WriteLine("(2) Purchase"); Console.WriteLine("(3) End Program"); Console.WriteLine(); char userInput = Console.ReadKey(true).KeyChar; if (userInput == '1') { Console.Clear(); foreach (string s in myVendor.PrintInventory()) { Console.WriteLine(s); } Console.WriteLine(); Console.Write("Press any key to return to Main Menu..."); Console.ReadKey(); return(true); } else if (userInput == '2') { bool running = true; while (running) { running = PurchaseMenu(); } return(true); } else if (userInput == '3') { return(false); } else if (userInput == '4') { Console.Clear(); Console.WriteLine("Sales Report"); Console.WriteLine("------------------------------------"); foreach (KeyValuePair <string, int> n in ReadWriteData.ReadSales()) { if (n.Key == "Bank") { Console.WriteLine(); Console.WriteLine("Total Sales: " + ToDollars((Convert.ToDouble(n.Value)) / 100)); Console.WriteLine(); } else { Console.WriteLine(n.Key.PadRight(20) + n.Value); } } Console.WriteLine(); Console.Write("Press any key to return to Main Menu..."); Console.ReadKey(); return(true); } else { Console.Write("Please choose a valid menu option. Press any key to continue..."); Console.ReadKey(); return(true); } }