예제 #1
0
 public async Task Handle(WithdrawMoneyRejectedEvent message, IMessageHandlerContext context)
 {
     log.Info($"WithdrawMoneyRejectedEvent, TransactionId = {message.TransactionId}");
     var command = new RejectMoneyTransferCommand(
         Data.TransferId
         );
     await context.Send(command).ConfigureAwait(false);
 }
예제 #2
0
        public async Task Handle(DepositMoneyRejectedEvent message, IMessageHandlerContext context)
        {
            log.Info($"DepositMoneyRejectedEvent, TransferId = {message.TransactionId}");
            var command = new RejectMoneyTransferCommand(
                Data.TransferId
                );
            await context.SendLocal(command).ConfigureAwait(false);

            MarkAsComplete();
        }
예제 #3
0
        public async Task Handle(DestinationAccountNotFoundEvent message, IMessageHandlerContext context)
        {
            log.Info($"DestinationAccountNotFoundEvent, TransactionId = {message.TransactionId}");
            var returnMoneyCommand = new ReturnMoneyCommand(
                Data.SourceAccountId,
                Data.Amount
                );
            await context.Send(returnMoneyCommand).ConfigureAwait(false);

            var rejectMoneyTransferCommand = new RejectMoneyTransferCommand(
                Data.TransferId
                );
            await context.SendLocal(rejectMoneyTransferCommand).ConfigureAwait(false);

            MarkAsComplete();
        }