Ejemplo n.º 1
0
        private static void Main(string[] args)
        {
            Console.OutputEncoding = Encoding.UTF8;
            DisplayVendingMachineTitle();

            VendingMachine  vendingMachine    = new VendingMachine();
            List <IProduct> purchasedProducts = new List <IProduct>();

            bool exitMachine = false;

            showMenu = true;

            do
            {
                if (showMenu)
                {
                    DisplayVendingOptions();
                    showMenu = false;
                }

                key = Console.ReadKey(true).Key;

                switch (key)
                {
                case ConsoleKey.S: {
                    Console.Clear();
                    DisplayVendingMachineTitle();
                    vendingMachine.ShowAviableProducts();
                    showMenu = true;
                    break;
                }

                case ConsoleKey.B: {
                    Console.Clear();
                    DisplayVendingMachineTitle();
                    vendingMachine.ShowAviableProducts();
                    Console.WriteLine($"\nDeposited money: {vendingMachine.CurrentDepositedMoney:C0}\n");
                    Console.WriteLine("Please select what to buy: ");
                    vendingMachine.BuyItems(purchasedProducts);
                    showMenu = true;
                    break;
                }

                case ConsoleKey.D: {
                    vendingMachine.DepositMoney();
                    Console.Clear();
                    DisplayVendingMachineTitle();
                    showMenu = true;
                    break;
                }

                case ConsoleKey.E: {
                    vendingMachine.ExamineItems();
                    showMenu = true;
                    break;
                }

                case ConsoleKey.X: {
                    exitMachine = true;
                    break;
                }
                }
            } while (!exitMachine);

            Console.WriteLine("Exited machine");

            vendingMachine.GetChange();

            Console.Read();
        }