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())); }
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}"); } } } }