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"); } }