예제 #1
0
        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);
        }
예제 #2
0
 public async void CreateDespesas([FromBody] CreateDespesasCommand command)
 {
     await _mediator.Send(command);
 }