public void Transfer(Transaction transaction) { if (transaction.ReceiverIban.Equals(Iban)) { Credit += transaction.Amount; BankStorage.AddTransaction(transaction); } else if (transaction.SenderIban.Equals(Iban)) { Credit -= transaction.Amount; BankStorage.AddTransaction(transaction); } else { throw new InvalidOperationException("The transaction is not be associated with this account!"); } }
public BankTransactionState TransferMoney(Money amount, IBAN to, string referenceText) { if (SessionAccount == null) { return(BankTransactionState.NotLoggedIn); } var transaction = new Transaction(amount, SessionAccount.Iban, to, referenceText); var receiver = BankStorage.GetAccount(to); SessionAccount.Transfer(transaction); receiver.Transfer(transaction); BankStorage.AddTransaction(transaction); BankStorage.AddAccount(receiver); SaveSession(); return(BankTransactionState.Success); }