/// <summary> /// Inclui um Agendamento com dependência /// </summary> /// <param name="idSistema">ID do Sistema que terá agendamento de execução de um processo</param> /// <param name="codigoSistemaModulo">Código do Módulo do Sistema</param> /// <param name="nome">Nome do processo que está sendo agendado</param> /// <param name="statusAgendamentoProcesso">Status do Agendamento do processo</param> /// <param name="tipoExecucao">Tipo Execucao (IMED = Imediato; DIAR = Diário)</param> /// <param name="horaExecucao">Hora que será feito a execucao do processo</param> /// <param name="dhInclusao">Data Hora Inclusao</param> /// <param name="idAgendamentoDependenciaExecucao">ID do Agendamento que o processo sendo agendendado é dependente de execução. Este agendamento só será executado após a execução com sucesso deste agendamento informado.</param> /// <param name="idAgendamento">Parâmetro de saída com o ID do Agendamento criado</param> public void Incluir(Int32 idSistema, String codigoSistemaModulo, String nome, Agendamento.enmStatus statusAgendamentoProcesso, Agendamento.enmTipoExecucao tipoExecucao, DateTime horaExecucao, DateTime horaProximaExecucao, DateTime dhInclusao, int idAgendamentoDependenciaExecucao, Agendamento.enmTipoProcesso tipoProcesso, Boolean permiteConcorrenciaExecucao, ref Int32 idAgendamento) { try { if (ModoEntidadeOnly) { throw new ApplicationException("Esta Instância da classe Agendamento está operando em Modo Entidade Only"); } idAgendamento = Int32.MinValue; acessoDadosBase.AddParameter("@SIST_ID", idSistema); acessoDadosBase.AddParameter("@SIST_CD_MODULO", codigoSistemaModulo); acessoDadosBase.AddParameter("@AGPROC_NM", nome); acessoDadosBase.AddParameter("@STAGPROC_ST", ObterDBValue_Status(statusAgendamentoProcesso)); acessoDadosBase.AddParameter("@STAPE_ST", StatusAgendamentoProcessoExecucao.ObterDBValue_StatusExecucao(StatusAgendamentoProcessoExecucao.enmStatusExecucao.Agendado)); acessoDadosBase.AddParameter("@AGPROC_TP_EXECUCAO", ObterDBValue_TipoExecucao(tipoExecucao)); acessoDadosBase.AddParameter("@AGPROC_HR_EXECUCAO", horaExecucao); acessoDadosBase.AddParameter("@AGPROC_DH_PROX_EXECUCAO", horaProximaExecucao); acessoDadosBase.AddParameter("@USU_ID_INS", base.UsuarioManutencao.ID); acessoDadosBase.AddParameter("@AGPROC_DH_USUARIO_INS", dhInclusao); acessoDadosBase.AddParameter("@AGPROC_ID_DEPEND_EXEC", idAgendamentoDependenciaExecucao); acessoDadosBase.AddParameter("@AGPROC_TP_PROC", Agendamento.kTipoProcesso_GRUPO); acessoDadosBase.AddParameter("@AGPROC_FL_CONCORRENCIA_EXEC", permiteConcorrenciaExecucao); acessoDadosBase.AddParameter("@AGPROC_ID", Int32.MaxValue, ParameterDirection.InputOutput); idAgendamento = Convert.ToInt32(acessoDadosBase.ExecuteNonQueryComRetorno(CommandType.StoredProcedure, "prAGPROC_INS_DEPEND_EXEC")[0]); } catch (Exception ex) { CaseBusiness.Framework.Log.Log.Logar(CaseBusiness.Framework.TipoLog.Erro, ex.Message, ex.StackTrace, "", "", DateTime.Now, CaseBusiness.Framework.Configuracao.Configuracao.Aplicacao, CaseBusiness.Framework.Tela.Nenhum, 0); throw; } }
/// <summary> /// Inclui um Agendamento /// </summary> /// <param name="idSistema">ID do Sistema que terá agendamento de execução de um processo</param> /// <param name="nome">Nome do processo que está sendo agendado</param> /// <param name="statusAgendamento">Status do Agendamento do processo</param> /// <param name="tipoExecucao">Tipo Execucao (IMED = Imediato; DIAR = Diário)</param> /// <param name="horaExecucao">Hora que será feito a execucao do processo</param> /// <param name="dhInclusao">Data Hora Inclusao</param> /// <param name="idAgendamento">Parâmetro de saída com o ID do Agendamento criado</param> public void Incluir(Int32 idSistema, String nome, Agendamento.enmStatus statusAgendamento, Agendamento.enmTipoExecucao tipoExecucao, DateTime horaExecucao, DateTime horaProximaExecucao, DateTime dhInclusao, ref Int32 idAgendamento) { Incluir(idSistema, String.Empty, nome, statusAgendamento, tipoExecucao, false, horaExecucao, horaProximaExecucao, dhInclusao, Agendamento.kTipoProcesso_GRUPO, ref idAgendamento); }
/// <summary> /// Atualiza status de um Agendamento /// </summary> /// <param name="idAgendamento">ID Agendamento</param> /// <param name="statusAgendamento">Status Agendamento </param> public void AlterarStatus(Int32 idAgendamento, Agendamento.enmStatus statusAgendamento) { try { if (ModoEntidadeOnly) { throw new ApplicationException("Esta Instância da classe Agendamento está operando em Modo Entidade Only"); } acessoDadosBase.AddParameter("@AGPROC_ID", idAgendamento); acessoDadosBase.AddParameter("@STAGPROC_ST", ObterDBValue_Status(statusAgendamento)); acessoDadosBase.AddParameter("@USU_ID_UPD", base.UsuarioManutencao.ID); acessoDadosBase.AddParameter("@AGPROC_DH_USUARIO_UPD", DateTime.Now); acessoDadosBase.ExecuteNonQuerySemRetorno(CommandType.StoredProcedure, "prAGPROC_UPD_STATUS"); } catch (Exception ex) { CaseBusiness.Framework.Log.Log.Logar(CaseBusiness.Framework.TipoLog.Erro, ex.Message, ex.StackTrace, "", "", DateTime.Now, CaseBusiness.Framework.Configuracao.Configuracao.Aplicacao, CaseBusiness.Framework.Tela.Nenhum, 0); throw; } }