Exemple #1
0
        public void Can_create_WireTransferred_Event()
        {
            var id     = Guid.NewGuid();
            var amount = 250;
            var @event = new WireTransferred(id, amount);

            Assert.NotNull(@event);
            Assert.Equal(id, @event.AccountId);
            Assert.Equal(amount, @event.TransferredFunds);
        }
Exemple #2
0
 public void TransferWire(decimal amountTranferred, WireTransferred @event)
 {
     if (_blocked)
     {
         throw new Exception("_account blocked");
     }
     if (amountTranferred <= 0)
     {
         throw new ArgumentException("Amount should exceed 0");
     }
     if ((_amount + _overdraftLimit) - amountTranferred < 0 || amountTranferred > _dailyWireTransferLimit)
     {
         Block(new Blocked(_accountId));
         return;
     }
     Raise(@event);
 }
Exemple #3
0
 private void Apply(WireTransferred @event)
 {
     _amount -= @event.TransferredFunds;
 }