public override void ChooseOperation() { Bank.ShowMessage(ConsoleProvider.OperationsDebitCard); switch (ConsoleProvider.ReadChooseAction(PossibleCountOfDebitCardActions)) { case (int)DebitCardOperation.TransferMoneyToAccount: string numberAccount = ConsoleProvider.InputStringValue(ConsoleProvider.InputRecepientAccounts); if (numberAccount.Length != 0) { TransferMoneyToAccount(numberAccount, ConsoleProvider.InputIntegerValue()); } else { Bank.ShowMessage(ConsoleProvider.IncorrectInput); } break; case (int)DebitCardOperation.TransferMoneyToCard: TransferMoneyToCard(); break; case (int)DebitCardOperation.SpendMoney: SpendMoney(); break; } }
public override void TransferMoneyToCard() { Bank.ShowAccounts(); int chooseAccount = ConsoleProvider.ReadChooseAction(Bank.Accounts.Count); if (Bank.Accounts[chooseAccount].Cards.Count == 0) { Bank.ShowMessage(ConsoleProvider.NoneCardOnAccount); return; } Bank.Accounts[chooseAccount].ShowCards(); int chooseCard = ConsoleProvider.ReadChooseAction(Bank.Accounts[chooseAccount].Cards.Count); Card card = Bank.Accounts[chooseAccount].Cards[chooseCard]; int money = ConsoleProvider.InputIntegerValue(); if (money > card.Balance) { Bank.ShowMessage(ConsoleProvider.LackingMoney); } else { if (card == this) { Bank.ShowMessage(ConsoleProvider.IncorrectOperation); return; } card.Balance += money; Balance -= money; Bank.ShowMessage(ConsoleProvider.SuccessfullyOperation); } }