示例#1
0
        /// <summary>
        /// Altera um Agendamento
        /// </summary>
        /// <param name="idSistema">ID do Sistema que terá agendamento de execução de um processo</param>
        /// <param name="statusAgendamentoProcessamentoExecucao">Status Agendamento Processamento Execucao</param>
        /// <param name="tipoExecucao">Tipo Execucao</param>
        /// <param name="horaExecucao">Hora que será feito a execucao do processo</param>
        /// <param name="dhInclusao">Data Hora Inclusao</param>
        /// <param name="idAgendamento">ID Agendamento</param>
        public void Alterar(Int32 idSistema,
                            StatusAgendamentoProcessoExecucao.enmStatusExecucao statusAgendamentoProcessamentoExecucao,
                            Agendamento.enmTipoExecucao tipoExecucao,
                            DateTime horaExecucao,
                            DateTime horaProximaExecucao,
                            DateTime dhInclusao,
                            Int32 idAgendamento)
        {
            try
            {
                if (ModoEntidadeOnly)
                {
                    throw new ApplicationException("Esta Instância da classe Agendamento está operando em Modo Entidade Only");
                }

                acessoDadosBase.AddParameter("@SIST_ID", idSistema);
                acessoDadosBase.AddParameter("@STAPE_ST", StatusAgendamentoProcessoExecucao.ObterDBValue_StatusExecucao(statusAgendamentoProcessamentoExecucao));
                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_UPD", base.UsuarioManutencao.ID);
                acessoDadosBase.AddParameter("@AGPROC_DH_USUARIO_UPD", dhInclusao);
                acessoDadosBase.AddParameter("@AGPROC_ID", idAgendamento);

                acessoDadosBase.ExecuteNonQuerySemRetorno(CommandType.StoredProcedure, "prAGPROC_UPD");
            }
            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;
            }
        }
示例#2
0
        /// <summary>
        /// Atualizar Execução de um Agendamento
        /// </summary>
        /// <param name="idAgendamento">ID Agendamento</param>
        /// <param name="tipoExecucao">Tipo Execucao. Recorrente ou Imediata</param>
        /// <param name="hrAgendamento">Hora de execução do agendamento</param>
        /// <param name="intervaloExecucao">Intervalo de tempo a ter o novo agendamento. Sempre em SEGUNDOS. Não obrigatório para Tipo Execução Imediata.</param>
        public void AtualizarExecucaoAgendamento(Int32 idAgendamento
                                                 , Agendamento.enmTipoExecucao tipoExecucao
                                                 , DateTime hrAgendamento
                                                 , Int32 intervaloExecucao = -1
                                                 )
        {
            try
            {
                if (ModoEntidadeOnly)
                {
                    throw new ApplicationException("Esta Instância da classe Parametro está operando em Modo Entidade Only");
                }
                if (tipoExecucao == enmTipoExecucao.Recorrente && intervaloExecucao == -1)
                {
                    throw new ApplicationException("Para execução do tipo Recorrente é necessário informar um intervalo de Execução");
                }

                acessoDadosBase.AddParameter("@AGPROC_ID", idAgendamento);
                acessoDadosBase.AddParameter("@AGPROC_TP_EXECUCAO", ObterDBValue_TipoExecucao(tipoExecucao));
                acessoDadosBase.AddParameter("@INTERVALO", intervaloExecucao);
                acessoDadosBase.AddParameter("@AGPROC_HR_EXECUCAO", hrAgendamento);

                acessoDadosBase.ExecuteNonQuerySemRetorno(CommandType.StoredProcedure, "prAGPROC_UPD_EXECUCAO_AGEN");
            }
            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;
            }
        }
示例#3
0
        /// <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;
            }
        }
示例#4
0
 /// <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);
 }