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