示例#1
0
 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!");
     }
 }
示例#2
0
        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);
        }