public async Task Handle(MoneyWithdrawnEvent message, IMessageHandlerContext context) { log.Info($"MoneyWithdrawnEvent, TransactionId = {message.TransactionId}"); var command = new DepositMoneyCommand( Data.DestinationAccountId, Data.TransferId, Data.Amount ); await context.Send(command).ConfigureAwait(false); }
public async Task <IActionResult> DepositMoney(DepositMoneyCommand command) { try { await _mediator.Send(command); return(Ok()); } catch (ArgumentNullException ex) { return(BadRequest(ex.Message)); } catch (ForbiddenCommandException ex) { return(NotFound(ex.Message)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }