Пример #1
0
        public CommandResponse AdicionarExecucao(AgendamentoExecucao obj)
        {
            try
            {
                using (_contexto.Connection)
                {
                    _contexto.GetConnection();

                    var param = new DynamicParameters();
                    param.Add(name: "IdExecucao", value: obj.IdExecucao, direction: System.Data.ParameterDirection.Input);
                    param.Add(name: "IdProcesso", value: obj.IdProcesso, direction: System.Data.ParameterDirection.Input);
                    param.Add(name: "MensagemStatus", value: obj.MensagemStatus, direction: System.Data.ParameterDirection.Input);
                    param.Add(name: "Inicio", value: obj.Inicio, direction: System.Data.ParameterDirection.Input);
                    param.Add(name: "Fim", value: obj.Fim, direction: System.Data.ParameterDirection.Input);
                    param.Add(name: "Status", value: obj.Status, direction: System.Data.ParameterDirection.Input);

                    _contexto.Connection.Execute(AgentamentoExecucoesQueries.InsertExecucao(), param);

                    return(new CommandResponse(true, $"Execucao adicionada com sucesso"));
                }
            }
            catch (SQLiteException ex)
            {
                return(new CommandResponse(false, $"Erro : {ex.Message}"));
            }
        }
Пример #2
0
        protected virtual void ExecutarPluginRpa(T processos)
        {
            var exec = new AgendamentoExecucao(processos.IdProcesso, EStatusAgendamento.Executando);

            try
            {
                exec.AtualizaDataInicio(DateTime.Now);

                DateTime ini = DateTime.Now;
                Console.WriteLine($"Inicializando o Processo {processos.Descricao} Id - {exec.IdExecucao} - Inicio {ini}");

                _service.InicializaPlugin(processos);

                DateTime fim = DateTime.Now;
                Console.WriteLine($"Finalizando o Processo {processos.Descricao} Id - {exec.IdExecucao}  - Inicio {ini} - Fim -  {fim} -- Proxima execucao {processos.DataProximaExecucao}");


                processos.AtualizaStatusExecucao(EStatusAgendamento.Finalizado);
                exec.AtualizaDataFim(DateTime.Now);
                exec.AtualizaStatus(EStatusAgendamento.Finalizado);



                GetController <IAgendamentoRepository>().AtualizarStatusAgendamento(processos);
                GetController <IAgendamentoExecucoesRepository>().AdicionarExecucao(exec);
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Processo {processos.Descricao} - Finalizado com Erro:{ex.Message}");


                processos.AtualizaStatusExecucao(EStatusAgendamento.FinalizadoComErro);
                exec.AtualizaDataFim(DateTime.Now);
                exec.AtualizaStatus(EStatusAgendamento.FinalizadoComErro);
                exec.AtualizaMensagemStatus(ex.Message);


                GetController <IAgendamentoRepository>().AtualizarStatusAgendamento(processos);
                GetController <IAgendamentoExecucoesRepository>().AdicionarExecucao(exec);
            }
        }