Example #1
0
 public TransferMoneyContext(TransferMoneySource source,
                             TransferMoneySink sink, double amount)
 {
     Source = source;
     Sink   = sink;
     Amount = amount;
 }
Example #2
0
        public static void TransferTo(this TransferMoneySource self, TransferMoneySink recipient, double amount)
        {
            if (self.Balance < amount)
            {
                throw new ApplicationException("insufficient funds");
            }

            self.Withdraw(amount);
            self.Log("Withdrawing " + amount);
            recipient.Deposit(amount);
            recipient.Log("Depositing " + amount);
        }
Example #3
0
 public MoneyTransfer From(TransferMoneySource source)
 {
     this.source = source;
     return this;
 }
 public TransferMoneyContext(TransferMoneySource source, TransferMoneySink sink, decimal amount)
 {
     Source = source;
     Sink = sink;
     Amount = amount;
 }