public TransferTransaction(Account fromAccount, Account toAccount, decimal amount) { this._fromAccount = fromAccount; this._toAccount = toAccount; this._amount = amount; this._withdraw = new WithdrawTransaction(_fromAccount, this._amount); this._deposit = new DepositTransaction(_toAccount, this._amount); }
private static void DoWithdraw(Bank bank) { //Search for an account Account account = FindAccount(bank); //Take actions if the account is detected if (account != null) { Console.WriteLine("Input amount"); decimal amount = InputToDec(Console.ReadLine()); WithdrawTransaction currentTransaction = new WithdrawTransaction(account, amount); //Ask user to proceed, take action if (YNQuestion("Proceed? Y/N")) { bank.ExecuteTransaction(currentTransaction); } else { Console.WriteLine("Transaction cancelled"); } //Ask user, then verify user input if (YNQuestion("Print transaction details? Y/N")) { currentTransaction.Print(); } } else { Console.WriteLine("Withdraw canceled!"); } Console.ReadLine(); }
public void ExecuteTransaction(WithdrawTransaction transaction) { transaction.Execute(); }
private static void DoWithdraw(Account account) { Console.WriteLine("Input amount to withdraw: "); decimal amount = InputToDec(Console.ReadLine()); WithdrawTransaction currentTransaction = new WithdrawTransaction(account, amount); //Ask user to proceed, and veryfy user input. Console.WriteLine("Proceed? Y/N"); string proceed; do { proceed = Console.ReadLine().ToLower(); switch (proceed) { case "y": { currentTransaction.Execute(); break; } case "n": { break; } default: { Console.WriteLine("Unknown option, please try again"); proceed = Console.ReadLine().ToLower(); break; } } } while (proceed != "y" && proceed != "n" && string.IsNullOrEmpty(proceed)); //Ask user, then verify user input Console.WriteLine("Print transaction details? Y/N"); string print; do { print = Console.ReadLine().ToLower(); switch (print) { case "y": { currentTransaction.Print(); break; } case "n": { break; } default: { Console.WriteLine("Unknown option, please try again"); print = Console.ReadLine().ToLower(); break; } } } while (print != "y" && print != "n" && string.IsNullOrEmpty(print)); Console.ReadLine(); }