public static string CheckCommandSimbols(this string inputObject)
        {
            inputObject = DataInputOutputManager.InputMessenger();
            string command = string.Empty;
            int    number;

            foreach (UserCommand u in Enum.GetValues(typeof(UserCommand)))
            {
                if (u.ToString() == inputObject)
                {
                    command = u.ToString();
                }
                else if (Int32.TryParse(inputObject, out number) && (int)u == number)
                {
                    command = number.ToString();
                }
                else
                {
                    if (inputObject.Length >= Enum.GetNames(typeof(UserCommand)).Length)
                    {
                        break;
                    }
                }
            }
            return(command);
        }
        public static double CheckSumSimbols(this string inputObject)
        {
            inputObject = DataInputOutputManager.InputMessenger();
            double number;

            Double.TryParse(inputObject, out number);
            return(number);
        }
        public static int CheckPinCodeSimbols(this string inputObject)
        {
            inputObject = DataInputOutputManager.InputMessenger();
            int number;

            Int32.TryParse(inputObject, out number);
            return(number);
        }
Beispiel #4
0
        public void Operations(Card card, ManagerATM managarATM)
        {
            while (!card.BlockCard && !BlockMenu)
            {
                ++countCommands;
                BlockMenu     = (blocker.BlockBadCommand(countBadCommands) || blocker.BlockTimeLimitState(true) || blocker.BlockTimeLimitSassion(false) || blocker.BlockCommandLimit(countCommands)) ? true : false;
                enterUserData = enterUserData.CheckCommandSimbols();
                Enum.TryParse(enterUserData, true, out userCommand);
                switch (userCommand)
                {
                case UserCommand.BALANCE:
                    DataInputOutputManager.OutputMessenger(GetBalance(card).ToString());
                    BlockMenu            = (blocker.BlockTimeLimitState(false) || blocker.BlockTimeLimitSassion(false) || blocker.BlockCommandLimit(countCommands)) ? true : false;
                    managarATM.cardInput = (BlockMenu || card.BlockCard) ? false : true;
                    break;

                case UserCommand.CASH:
                    GetCash(card, cash.CheckSumSimbols());
                    DataInputOutputManager.OutputMessenger(card.Balance.ToString());
                    BlockMenu            = (blocker.BlockTimeLimitState(false) || blocker.BlockTimeLimitSassion(false) || blocker.BlockCommandLimit(countCommands)) ? true : false;
                    managarATM.cardInput = (BlockMenu || card.BlockCard) ? false : true;
                    break;

                case UserCommand.EXIT:
                    Exit(card);
                    BlockMenu            = (blocker.BlockTimeLimitState(false) || blocker.BlockTimeLimitSassion(false) || blocker.BlockCommandLimit(countCommands)) ? true : false;
                    managarATM.cardInput = (BlockMenu || card.BlockCard) ? false : true;
                    break;

                default:
                    ++countBadCommands;
                    BlockMenu            = (blocker.BlockTimeLimitState(false) || blocker.BlockTimeLimitSassion(false) || blocker.BlockCommandLimit(countCommands)) ? true : false;
                    managarATM.cardInput = (BlockMenu || card.BlockCard) ? false : true;
                    break;
                }
            }
            while (!managarATM.cardInput)
            {
                DataInputOutputManager.OutputMessenger("Menu blocked");
                DataInputOutputManager.InputMessenger();
                managarATM.cardInput = true;
                blocker.BlockTimeLimitSassion(true);
                blocker.BlockTimeLimitState(true);
                card.BlockCard = false;
                BlockMenu      = false;
                managarATM.StartMainMenu(card);
            }
        }
Beispiel #5
0
 public MainMenu(Card card)
 {
     Run();
     CheckPinCode(card);
     if (!card.BlockCard && !BlockMenu)
     {
         DataInputOutputManager.OutputMessenger("MENU");
     }
     else
     {
         while (card.BlockCard && BlockMenu)
         {
             DataInputOutputManager.InputMessenger();
         }
     }
 }
Beispiel #6
0
        static void Main(string[] args)
        {
            Card card = new Card
            {
                Balance   = 1000,
                BlockCard = false,
                IDUser    = "******",
            };
            ManagerATM managerATM = new ManagerATM(card);
            MainMenu   mainMenu   = managerATM.StartMainMenu(card);

            while (!card.BlockCard && !mainMenu.BlockMenu)
            {
                mainMenu.Operations(card, managerATM);
            }
            DataInputOutputManager.InputMessenger();
        }