public static IApplicationBuilder UseEventBus(this IApplicationBuilder app) { var services = app.ApplicationServices; var busClient = services.GetService <IBusClient>(); busClient.SubscribeAsync <DespesaCreatedMessage>( async(msg, context) => { using (var scope = services.CreateScope()) { var mediator = (IMediator)scope.ServiceProvider.GetService(typeof(IMediator)); var createDespesaCommand = new CreateDespesasCommand { CPF = msg.CPF, TipoId = msg.TipoId, Ano = msg.Ano, Mes = msg.Mes, Valor = msg.Valor }; await mediator.Send(createDespesaCommand); } } ); return(app); }
public async void CreateDespesas([FromBody] CreateDespesasCommand command) { await _mediator.Send(command); }