public TransactionResult Withdraw(WithdrawTransaction withdrawTransaction) { // Check for ISF if (withdrawTransaction.GetAmount() > _balance) { return TransactionResult.InsufficientFunds; } else { _balance -= withdrawTransaction.GetAmount(); _transactionHistory.Add(withdrawTransaction); } return TransactionResult.Success; }
public void CustomerWithdraw(Customer name) { // Get the source account Console.Write("\n Select account (1 - from Checkings Account, 2 - from Savings Account): "); var selection = Convert.ToInt32(Console.ReadLine()); var sourceAccount = selection == 1 ? (Account)name.GetCheckingsAccount() : (Account)name.GetSavingsAccount(); // Get the withdraw amount Console.Write("\n Enter Amount: "); var withdrawAmount = Convert.ToDouble((Console.ReadLine())); // Create a new transaction with the withdraw info var withdrawTransaction = new WithdrawTransaction(sourceAccount, withdrawAmount).FinalizeTransaction(); if (withdrawTransaction == TransactionResult.Success) { Console.WriteLine("\n\tWithdrawl Completed"); } else { Console.WriteLine("\n\tInsufficient funds, account balance $" + sourceAccount.GetAccountBalance()); } }