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); }
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); } }
public MainMenu(Card card) { Run(); CheckPinCode(card); if (!card.BlockCard && !BlockMenu) { DataInputOutputManager.OutputMessenger("MENU"); } else { while (card.BlockCard && BlockMenu) { DataInputOutputManager.InputMessenger(); } } }
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(); }