Beispiel #1
0
        private void MoneyTransferIsGoingToAnInternalAccount(MoneyTransfer moneyTransfer)
        {
            var account = _reportingRepository.GetByExample <AccountReport>(new { AccountNumber = moneyTransfer.TargetAccount }).First();

            _bus.Publish(new ReceiveMoneyTransferCommand(account.Id, moneyTransfer.Ammount, moneyTransfer.SourceAccount));
            _bus.Commit();
        }
Beispiel #2
0
 private void DoSend(MoneyTransfer moneyTransfer)
 {
     try
     {
         // I didn't want to introduce an actual external bank, so that's why you see this nice construct :)
         _moneyTransferOptions[SystemRandom.Next(0, 9)](moneyTransfer);
     }
     catch (Exception)
     {
         CompensatingActionBecauseOfFailedMoneyTransfer(moneyTransfer);
     }
 }
 private void MoneyTransferIsGoingToAnInternalAccount(MoneyTransfer moneyTransfer)
 {
     try
     {
         var account = _reportingRepository.GetByExample<AccountReport>(new {moneyTransfer.TargetAccount}).First();
         _bus.Publish(new ReceiveMoneyTransferCommand(account.Id, moneyTransfer.Ammount, moneyTransfer.SourceAccount));
     }
     catch(Exception)
     {
         RequestedAccountDoesNotExist(moneyTransfer);
     }
 }
 private void DoSend(MoneyTransfer moneyTransfer)
 {
     try
     {
         // I didn't want to introduce an actual external bank, so that's why you see this nice construct :)
         _moneyTransferOptions[SystemRandom.Next(0, 9)](moneyTransfer);
     }
     catch(Exception)
     {
         CompensatingActionBecauseOfFailedMoneyTransfer(moneyTransfer);
     }
 }
Beispiel #5
0
 private void MoneyTransferIsGoingToAnInternalAccount(MoneyTransfer moneyTransfer)
 {
     try
     {
         var account = _reportingRepository.GetByExample <AccountReport>(new { moneyTransfer.TargetAccount }).First();
         _bus.Publish(new ReceiveMoneyTransferCommand(account.Id, moneyTransfer.Ammount, moneyTransfer.SourceAccount));
     }
     catch (Exception)
     {
         RequestedAccountDoesNotExist(moneyTransfer);
     }
 }
Beispiel #6
0
 private void MoneyTransferIsGoingToAnExternalAccount(MoneyTransfer moneyTransfer)
 {
     _receiveMoneyTransfers.Receive(moneyTransfer);
 }
Beispiel #7
0
 public void Send(MoneyTransfer moneyTransfer)
 {
     SystemTimer.Trigger(() => DoSend(moneyTransfer)).In(5000);
 }
 private void CompensatingActionBecauseOfFailedMoneyTransfer(MoneyTransfer moneyTransfer)
 {
     var account = _reportingRepository.GetByExample<AccountReport>(new { AccountNumber = moneyTransfer.SourceAccount }).First();
     _bus.Publish(new MoneyTransferFailedCompensatingCommand(account.Id, moneyTransfer.Ammount, moneyTransfer.TargetAccount));
 }
 private void MoneyTransferIsGoingToAnExternalNonExistingAccount(MoneyTransfer moneyTransfer)
 {
     _receiveMoneyTransfers.Receive(new MoneyTransfer(moneyTransfer.SourceAccount, moneyTransfer.TargetAccount.Reverse().ToString(), moneyTransfer.Ammount));
 }
 private void MoneyTransferIsGoingToAnInternalAccount(MoneyTransfer moneyTransfer)
 {
     var account = _reportingRepository.GetByExample<AccountReport>(new { AccountNumber = moneyTransfer.TargetAccount }).First();
     _bus.Publish(new ReceiveMoneyTransferCommand(account.Id, moneyTransfer.Ammount, moneyTransfer.SourceAccount));
     _bus.Commit();
 }
 public void Send(MoneyTransfer moneyTransfer)
 {
     SystemTimer.Trigger(() => DoSend(moneyTransfer)).In(5000);
 }
Beispiel #12
0
 private static void RequestedAccountDoesNotExist(MoneyTransfer moneyTransfer)
 {
     throw new UnknownAccountException(string.Format("The requested account '{0}' is not managed by this bank", moneyTransfer.TargetAccount));
 }
Beispiel #13
0
 public void Receive(MoneyTransfer moneyTransfer)
 {
     MoneyTransferIsGoingToAnInternalAccount(moneyTransfer);
 }
 private static void RequestedAccountDoesNotExist(MoneyTransfer moneyTransfer)
 {
     throw new UnknownAccountException(string.Format("The requested account '{0}' is not managed by this bank", moneyTransfer.TargetAccount));
 }
Beispiel #15
0
 private void MoneyTransferIsGoingToAnExternalNonExistingAccount(MoneyTransfer moneyTransfer)
 {
     _receiveMoneyTransfers.Receive(new MoneyTransfer(moneyTransfer.SourceAccount, moneyTransfer.TargetAccount.Reverse().ToString(), moneyTransfer.Ammount));
 }
 private void MoneyTransferIsGoingToAnExternalAccount(MoneyTransfer moneyTransfer)
 {
     _receiveMoneyTransfers.Receive(moneyTransfer);
 }
Beispiel #17
0
        private void CompensatingActionBecauseOfFailedMoneyTransfer(MoneyTransfer moneyTransfer)
        {
            var account = _reportingRepository.GetByExample <AccountReport>(new { AccountNumber = moneyTransfer.SourceAccount }).First();

            _bus.Publish(new MoneyTransferFailedCompensatingCommand(account.Id, moneyTransfer.Ammount, moneyTransfer.TargetAccount));
        }
 public void Receive(MoneyTransfer moneyTransfer)
 {
     MoneyTransferIsGoingToAnInternalAccount(moneyTransfer);
 }