public async Task <Transacao> Run( [ActivityTrigger] PagarComCartaoComando comando, ILogger logger) { logger.LogInformation($"[START ACTIVITY] --> {nameof(Activity_PagarComCartao)} para pedido: {comando.PedidoId}"); var resultado = await _servico.Executar(comando); return(resultado); }
public async Task Run( [ServiceBusTrigger(nameof(PagarComCartaoComando), Connection = "AzureServiceBus")] Message message, [ServiceBus(nameof(PagamentoAprovadoEvento), Connection = "AzureServiceBus", EntityType = EntityType.Queue)] IAsyncCollector <PagamentoAprovadoEvento> filaPagamentoAprovado, [ServiceBus(nameof(PagamentoNegadoEvento), Connection = "AzureServiceBus", EntityType = EntityType.Queue)] IAsyncCollector <PagamentoNegadoEvento> filaPagamentoNegado, ILogger logger) { logger.LogInformation($"Gatilho QueueTriggerProcessarPagamentoCartao recebido"); var comando = Encoding.UTF8.GetString(message.Body).ToObject <PagarComCartaoComando>(); var resultado = await _servico.Executar(comando); if (resultado.Status == Transacao.EStatus.Aprovado) { await filaPagamentoAprovado.AddAsync(new PagamentoAprovadoEvento(comando.PedidoId)); } else if (resultado.Status == Transacao.EStatus.Negado) { await filaPagamentoNegado.AddAsync(new PagamentoNegadoEvento(comando.PedidoId)); } }