Beispiel #1
0
 public bool Withdraw(ITransaction transaction)
 {
     if ((Balance - transaction.Amount) < 0 && Type == TypeFactory.CheckingAccount)
     {
         return(false);
     }
     else if ((Balance - transaction.Amount) < 0 && Type == TypeFactory.BusinessAccount)
     {
         if (OverDraftLoan == null)
         {
             OverDraftLoan = new BankLoan(.1, transaction.Amount - Balance, TypeFactory.GenerateLoanID(), TypeFactory.OverdraftLoan);
             AccountLoans.Add(OverDraftLoan);
             AccountTransactions.Add(transaction);
             Balance = 0;
         }
         else
         {
             OverDraftLoan.Amount += transaction.Amount;
             AccountLoans.Add(OverDraftLoan);
         }
     }
     else
     {
         Balance -= transaction.Amount;
         AccountTransactions.Add(transaction);
     }
     return(true);
 }