//Display "state" of simulation. (how objects change throughout transaction process public void DisplayAllStats() { Console.WriteLine("\nPress enter to display all current simulation statistics: "); Console.ReadLine(); Console.Clear(); Console.WriteLine("Soda machine:" + $"\n{sodaMachine.inventory.Count} cans in inventory" + $"\n{sodaMachine.register.Count} coins in register totalling {Verification.CountMoney(sodaMachine.register):C2}" + $"\n{sodaMachine.CardPaymentBalance:C2} in card credits.\n"); Console.WriteLine("Customer:" + $"\nCard balance of {customer.wallet.card.AvailableFunds:C2}" + $"\nWallet contains {Verification.CountMoney(customer.wallet.coins):C2}"); customer.DisplayContents(customer.backpack); }
//Insert user payment public void InsertPayment(SodaMachine sodaMachine) { DisplayContents(wallet); Console.WriteLine("\nType 1 to insert quarter\nType 2 to insert dime\nType 3 to insert nickel\nType 4 to insert penny"); string userInput = Console.ReadLine(); string verifiedUserInput = Verification.VerifyUserInput(userInput, 1, 4); Coin insertedCoin = null; while (insertedCoin == null) { switch (verifiedUserInput) { case "1": bool coinExists = Verification.CheckIfObjectExists(wallet.coins, "Quarter"); if (coinExists) { for (int i = 0; i < wallet.coins.Count; i++) { if (wallet.coins[i].name == "Quarter") { insertedCoin = wallet.coins[i]; wallet.coins.RemoveAt(i); break; } } } else { Console.WriteLine("You do not have any quarters to insert. Choose another coin."); userInput = Console.ReadLine(); verifiedUserInput = Verification.VerifyUserInput(userInput, 1, 4); break; } break; case "2": coinExists = Verification.CheckIfObjectExists(wallet.coins, "Dime"); if (coinExists) { for (int i = 0; i < wallet.coins.Count; i++) { if (wallet.coins[i].name == "Dime") { insertedCoin = wallet.coins[i]; wallet.coins.RemoveAt(i); break; } } } else { Console.WriteLine("You do not have any dimes to insert. Choose another coin."); userInput = Console.ReadLine(); verifiedUserInput = Verification.VerifyUserInput(userInput, 1, 4); break; } break; case "3": coinExists = Verification.CheckIfObjectExists(wallet.coins, "Nickel"); if (coinExists) { for (int i = 0; i < wallet.coins.Count; i++) { if (wallet.coins[i].name == "Nickel") { insertedCoin = wallet.coins[i]; wallet.coins.RemoveAt(i); break; } } } else { Console.WriteLine("You do not have any nickels to insert. Choose another coin."); userInput = Console.ReadLine(); verifiedUserInput = Verification.VerifyUserInput(userInput, 1, 4); break; } break; case "4": coinExists = Verification.CheckIfObjectExists(wallet.coins, "Penny"); if (coinExists) { for (int i = 0; i < wallet.coins.Count; i++) { if (wallet.coins[i].name == "Penny") { insertedCoin = wallet.coins[i]; wallet.coins.RemoveAt(i); break; } } } else { Console.WriteLine("You do not have any pennies to insert. Choose another coin."); userInput = Console.ReadLine(); verifiedUserInput = Verification.VerifyUserInput(userInput, 1, 4); break; } break; } } sodaMachine.hopperIn.Add(insertedCoin); }