public static IActionResult Run(
     [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequest req,
     ILogger log)
 {
     log.LogInformation("Cotacoes (HttpTrigger) - Processando requisição");
     return(new OkObjectResult(CotacoesMoedasRepository.ListAll()));
 }
Ejemplo n.º 2
0
        public static void Run([ServiceBusTrigger("topic-cotacoes0", "FunctionAppCotacoes", Connection = "AzureServiceBusConnection")] string mySbMsg, ILogger log)
        {
            log.LogInformation($"CotacoesServiceBusTopicTrigger - Dados: {mySbMsg}");

            var cotacao = JsonSerializer.Deserialize <CotacaoMoeda>(mySbMsg,
                                                                    new JsonSerializerOptions()
            {
                PropertyNameCaseInsensitive = true
            });
            var validationResult = new CotacaoMoedaValidator().Validate(cotacao);

            if (validationResult.IsValid)
            {
                log.LogInformation($"CotacoesServiceBusTopicTrigger - Dados pós formatação: {mySbMsg}");
                CotacoesMoedasRepository.Save(cotacao);
                log.LogInformation("CotacoesServiceBusTopicTrigger - Cotação registrada com sucesso!");
            }
            else
            {
                log.LogInformation("CotacoesServiceBusTopicTrigger - Dados inválidos para a Cotação");
            }
        }
        public static void Run(
            [RabbitMQTrigger("queue-cotacoes", ConnectionStringSetting = "BrokerRabbitMQ")] string inputMessage,
            ILogger log)
        {
            CotacaoMoeda cotacao = null;

            try
            {
                cotacao = JsonSerializer.Deserialize <CotacaoMoeda>(inputMessage,
                                                                    new JsonSerializerOptions()
                {
                    PropertyNameCaseInsensitive = true
                });
            }
            catch
            {
                log.LogError("MoedasRabbitMQTrigger - Erro durante a deserialização!");
            }

            if (cotacao != null)
            {
                var validationResult = new CotacaoMoedaValidator().Validate(cotacao);
                if (validationResult.IsValid)
                {
                    log.LogInformation($"MoedasRabbitMQTrigger - Dados pós formatação: {JsonSerializer.Serialize(cotacao)}");
                    CotacoesMoedasRepository.Save(cotacao);
                    log.LogInformation("MoedasRabbitMQTrigger - Cotação registrada com sucesso!");
                }
                else
                {
                    log.LogError("MoedasRabbitMQTrigger - Dados inválidos para a Cotação");
                    foreach (var error in validationResult.Errors)
                    {
                        log.LogError($"MoedasRabbitMQTrigger - {error.ErrorMessage}");
                    }
                }
            }
        }