private void SelectProduct()
        {
            while (true)
            {
                Console.Clear();
                string userInput;
                DisplayItems();
                Console.WriteLine();
                Console.WriteLine($"{balanceMessage} {vendingMachine.Balance.ToString("C")}");
                Console.WriteLine("Which product do you want to purchase? (Ex: A4, C3...) Or Press ENTER to Finish: ");
                userInput = Console.ReadLine().ToUpper();
                if (userInput == "")
                {
                    break;
                }
                if (vendingMachine.IsValidSlot(userInput))
                {
                    try
                    {
                        if (vendingMachine.CheckQuantityRemaining(userInput))
                        {
                            transactionLogger.RecordPurchase(userInput, vendingMachine.Inventory[userInput][0].ItemName, vendingMachine.Inventory[userInput][0].Price, vendingMachine.Balance);

                            Console.WriteLine();

                            shoppingCart.Add(vendingMachine.Purchase(userInput));

                            Console.WriteLine($"Dispensing {shoppingCart[shoppingCart.Count - 1].ItemName}");
                            Console.WriteLine();
                            Console.WriteLine($"{balanceMessage} {vendingMachine.Balance.ToString("C")}");
                        }
                        else
                        {
                            Console.WriteLine();
                            Console.WriteLine("That item it out of stock...");
                            Console.WriteLine();
                        }
                    }
                    catch (InsufficientFundsException)
                    {
                        Console.WriteLine();
                        Console.WriteLine("You did not feed enough money to purchase that item.");
                        Console.WriteLine();
                    }
                }
                else
                {
                    Console.WriteLine();
                    Console.WriteLine(validInputPrompt);
                }

                Freeze();
            }
        }