예제 #1
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;
            }
        }
예제 #2
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);
 }
예제 #3
0
        /// <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;
            }
        }