コード例 #1
0
        public void SelectProduct()
        {
            try
            {
                PrintInventory();
                Console.Write("Please enter your product selection: ");
                string  selection        = Console.ReadLine().ToUpper();
                decimal beginningBalance = vendingMachine.Balance;
                bool    containsItem     = vendingMachine.Inventory.ContainsKey(selection);
                bool    enoughQuantity   = (vendingMachine.Inventory[selection].QuantityRemaining > 0);
                bool    enoughMoney      = (beginningBalance >= vendingMachine.Inventory[selection].Price);
                Console.WriteLine();

                if (!enoughMoney)
                {
                    Console.WriteLine($"The item you selected costs ${vendingMachine.Inventory[selection].Price}\n" +
                                      $"Your available balance is ${vendingMachine.Balance}\n" +
                                      $"Please add additional money before attempting to make this purchase\n");
                }
                else if (!enoughQuantity)
                {
                    Console.WriteLine("This item is *****SOLD OUT*****\n");
                }
                else
                {
                    vendingMachine.DecreaseBalance(vendingMachine.Inventory[selection].Price);
                    vendingMachine.DecreaseQuantity(selection);
                    Console.WriteLine($"You purchased {vendingMachine.Inventory[selection].Name} for ${vendingMachine.Inventory[selection].Price}\n" +
                                      $"Your remaining balance is ${vendingMachine.Balance}\n" +
                                      $"{vendingMachine.Inventory[selection].Message}\n");
                    vendingMachine.SelectProductAuditLog(vendingMachine.Inventory[selection].Name, selection, beginningBalance);
                }
            }
            catch (KeyNotFoundException)
            {
                Console.WriteLine();
                Console.WriteLine("That is not a valid selection\n");
            }
        }