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(); }
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); } }
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 MoneyTransferIsGoingToAnExternalAccount(MoneyTransfer moneyTransfer) { _receiveMoneyTransfers.Receive(moneyTransfer); }
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); }
private static void RequestedAccountDoesNotExist(MoneyTransfer moneyTransfer) { throw new UnknownAccountException(string.Format("The requested account '{0}' is not managed by this bank", moneyTransfer.TargetAccount)); }
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)); }
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); }
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); }