public static void Save(DadosAcao dadosAcao)
 {
     using (var conexao = new SqlConnection(
                Environment.GetEnvironmentVariable("BaseAcoes")))
     {
         var acao = new Acao();
         acao.Codigo         = dadosAcao.Codigo;
         acao.DataReferencia = DateTime.Now;
         acao.Valor          = dadosAcao.Valor;
         conexao.Insert(acao);
     }
 }
        public void Run(
            [RabbitMQTrigger("queue-acoes", ConnectionStringSetting = "RabbitMQConnection")] string inputMessage,
            ILogger log)
        {
            log.LogInformation($"ProcessarAcoes - Dados: {inputMessage}");

            DadosAcao dadosAcao = null;

            try
            {
                dadosAcao = JsonSerializer.Deserialize <DadosAcao>(inputMessage,
                                                                   new JsonSerializerOptions()
                {
                    PropertyNameCaseInsensitive = true
                });
            }
            catch
            {
                log.LogError("ProcessarAcoes - Erro durante a deserializacao!");
            }

            if (dadosAcao != null)
            {
                var validationResult = new AcaoValidator().Validate(dadosAcao);
                if (validationResult.IsValid)
                {
                    log.LogInformation($"ProcessarAcoes - Dados pos formatacao: {JsonSerializer.Serialize(dadosAcao)}");

                    _context.Acoes.Add(new Acao()
                    {
                        Codigo         = dadosAcao.Codigo,
                        DataReferencia = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                        Valor          = dadosAcao.Valor.Value
                    });
                    _context.SaveChanges();

                    log.LogInformation("ProcessarAcoes - Acao registrada com sucesso!");
                }
                else
                {
                    log.LogError("ProcessarAcoes - Dados invalidos para a Acao");
                    foreach (var error in validationResult.Errors)
                    {
                        log.LogError($"ProcessarAcoes - {error.ErrorMessage}");
                    }
                }
            }
        }
Exemple #3
0
        public void Save(DadosAcao acao)
        {
            IMongoDatabase db = _client.GetDatabase("DBAcoesMongoDB");

            var historico =
                db.GetCollection <AcaoDocument>("HistoricoAcoes");

            var horario  = DateTime.Now;
            var document = new AcaoDocument();

            document.HistLancamento = acao.Codigo + horario.ToString("yyyyMMdd-HHmmss");
            document.Codigo         = acao.Codigo;
            document.Valor          = acao.Valor.Value;
            document.Data           = horario.ToString("yyyy-MM-dd HH:mm:ss");

            historico.InsertOne(document);
        }
        public static void Run([ServiceBusTrigger("topic-acoes", "sqlserver", Connection = "AzureServiceBus")] string mySbMsg, ILogger log)
        {
            log.LogInformation($"AcoesSqlServiceBusTopicTrigger - Dados: {mySbMsg}");

            DadosAcao dadosAcao = null;

            try
            {
                dadosAcao = JsonSerializer.Deserialize <DadosAcao>(mySbMsg,
                                                                   new JsonSerializerOptions()
                {
                    PropertyNameCaseInsensitive = true
                });
            }
            catch
            {
                log.LogError("AcoesSqlServiceBusTopicTrigger - Erro durante a deserializacao!");
            }

            if (dadosAcao != null)
            {
                var validationResult = new AcaoValidator().Validate(dadosAcao);
                if (validationResult.IsValid)
                {
                    log.LogInformation($"AcoesSqlServiceBusTopicTrigger - Dados pos formatacao: {JsonSerializer.Serialize(dadosAcao)}");
                    AcoesRepository.Save(dadosAcao);
                    log.LogInformation("AcoesSqlServiceBusTopicTrigger - Acao registrada com sucesso!");
                }
                else
                {
                    log.LogError("AcoesSqlServiceBusTopicTrigger - Dados invalidos para a Acao");
                    foreach (var error in validationResult.Errors)
                    {
                        log.LogError($"AcoesSqlServiceBusTopicTrigger - {error.ErrorMessage}");
                    }
                }
            }
        }