static void Main(string[] args) { _dialogConsole = new DialogConsole(); string input; string exitCommand = "exit"; _dialogConsole.DisplayUser("Hello !"); _dialogConsole.DisplayUser($"Welcome, type your name to create a bank account or \"{exitCommand}\" to exit the application"); input = _dialogConsole.GetUserAnswer(); if (input == exitCommand) { return; } _dialogConsole.DisplayUser($"Thank you {input} for creating your bank account"); AccountInitialization(input); while (input != exitCommand) { DisplayAvailableActions(); input = _dialogConsole.GetUserAnswer(); _interpreter.ExecuteAction(input, _myAccount); } }
public CommandInterpreter(IBanker banker, IDialogConsole dialogConsole) { _availableActions = Enum.GetValues(typeof(ActionEnum)).Cast <ActionEnum>().ToList(); _interpreterMapping = new Dictionary <ActionEnum, Func <AbstractDialogInterpreter> >(); _interpreterMapping.Add(ActionEnum.Withdraw, () => new WithdrawDialogInterpreter(banker, dialogConsole)); _interpreterMapping.Add(ActionEnum.Deposit, () => new DepositDialogInterpreter(banker, dialogConsole)); _interpreterMapping.Add(ActionEnum.Balance, () => new BalanceDialogInterpreter(banker, dialogConsole)); _interpreterMapping.Add(ActionEnum.History, () => new HistoryDialogInterpreter(banker, dialogConsole)); }
protected AbstractDialogInterpreter(IBanker banker, IDialogConsole dialogConsole) { Banker = banker; DialogConsole = dialogConsole; }
public DepositDialogInterpreter(IBanker banker, IDialogConsole dialogConsole) : base(banker, dialogConsole) { }
public WithdrawDialogInterpreter(IBanker banker, IDialogConsole dialogConsole) : base(banker, dialogConsole) { }
public HistoryDialogInterpreter(IBanker banker, IDialogConsole dialogConsole) : base(banker, dialogConsole) { }
public BalanceDialogInterpreter(IBanker banker, IDialogConsole dialogConsole) : base(banker, dialogConsole) { }