public override decimal Process()
        {
            _screen.WriteLine($"Enter 1 if you want to go from {From} to {To}; otherwise, you want to go from {To} to {From}");
            int choice = (int)_keypad.ReadValue(1);

            _screen.WriteLine($"Enter 1 if the passenger is a child,otherwise, an adult");
            choice = (int)_keypad.ReadValue(1);
            _screen.WriteLine($"Enter the number of people travelling with this route");
            Quantity = (int)_keypad.ReadValue();
            _screen.WriteLine(ToString());
            return(TotalPrice);
        }
        public override Payment Process(decimal amount)
        {
            _screen.WriteLine("Enter your Bank Number");
            int bankNum = (int)_keypad.ReadValue(6);

            _screen.WriteLine("Enter your Routing Number");
            int   routingNum = (int)_keypad.ReadValue(9);
            Check check      = FetchCheckDetails(bankNum, routingNum);

            Amount = PaymentAmount(amount);
            if (check != null)
            {
                return(check);
            }
            return(null);
        }
Example #3
0
        public override Payment Process(decimal amount)
        {
            _screen.WriteLine("Enter your Credit Card Number");
            long creditcardNum = _keypad.ReadValue();

            _screen.WriteLine("Enter your four digits expiration date");
            int expDate = (int)_keypad.ReadValue(4);

            _screen.WriteLine("Enter your CVV");
            int  cvv  = (int)_keypad.ReadValue(3);
            Card card = FetchCardDetails(creditcardNum, expDate, cvv);

            Amount = PaymentAmount(amount);
            if (card != null)
            {
                return(card);
            }
            return(null);
        }
Example #4
0
 public void Run()
 {
     _screen.WriteLine($"Welcome!!\n In this Kiosk you will be travelling between Hawaiian Islands");
     _screen.WriteLine($"Please enter numerical values for making your choices");
     _screen.WriteLine($"\n");
     while (true)
     {
         try
         {
             Route[] routes = new Route[]
             {
                 new Ferry1(_screen, _keypad),
                 new Ferry2(_screen, _keypad),
                 new Flight1(_screen, _keypad),
                 new Flight2(_screen, _keypad),
                 new Flight3(_screen, _keypad)
             };
             _screen.WriteLine("Add a Route by entering a number corresponds to one of the following routes");
             decimal amount = 0;
             for (int i = 0; i < routes.Length; i++)
             {
                 _screen.WriteLine($"{i + 1}       {routes[i].Name} goes from {routes[i].From} to {routes[i].To} or viceversa for {routes[i].Price:C}");
             }
             int choice = (int)_keypad.ReadValue(1);
             if (choice > 0 && choice <= routes.Length)
             {
                 Route route = routes[choice - 1];
                 amount = route.Process();
             }
             _screen.WriteLine("Enter 1 if you want to pay. Otherwise you will continue entering your new routes");
             PaymentMenu(amount);
         }
         catch (Exception ex)
         {
             _screen.WriteLine(ex.Message);
         }
     }
 }