/// <summary>
        /// Inclui um registro no Processo Miscelanea Execucao
        /// </summary>
        /// <param name="IdProcessoMiscelanea">ID do processo em execução</param>
        /// <param name="IdProcessoMiscExec">ID do processo Miscelanea em execução</param>
        /// <param name="dataHoraInicio">Data/Hora de inicio da execução</param>
        /// <param name="dataHoraFim">Data/Hora de fim da execução</param>
        /// <param name="statusExecucao">Status da Execução</param>
        /// <param name="descricao">Descrição/Mensagens da execução</param>
        public void Atualizar(Int32 IdProcessoMiscelanea,
                              Int32 IdProcessoMiscExec,
                              DateTime dataHoraInicio,
                              DateTime dataHoraFim,
                              CaseBusiness.CC.Scheduler.StatusAgendamentoProcessoExecucao.enmStatusExecucao statusExecucao,
                              String descricao)
        {
            try
            {
                if (ModoEntidadeOnly)
                {
                    throw new ApplicationException("Esta Instância da classe Agendamento está operando em Modo Entidade Only");
                }

                acessoDadosBase.AddParameter("@PROCMISC_ID", IdProcessoMiscelanea);
                acessoDadosBase.AddParameter("@PROCMISCEX_DH_INI", dataHoraInicio);
                acessoDadosBase.AddParameter("@PROCMISCEX_DH_FIM", dataHoraFim);
                acessoDadosBase.AddParameter("@STAPE_ST", StatusAgendamentoProcessoExecucao.ObterDBValue_StatusExecucao(statusExecucao));
                acessoDadosBase.AddParameter("@PROCMISCEX_DS", descricao);
                acessoDadosBase.AddParameter("@PROCMISCEX_ID", IdProcessoMiscExec);

                acessoDadosBase.ExecuteNonQuerySemRetorno(CommandType.StoredProcedure,
                                                          "prPROCMISCEX_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;
            }
        }
        /// <summary>
        /// Inclui um registro no Processo Miscelanea Execucao
        /// </summary>
        /// <param name="IdProcessoMiscelanea">ID do processo em execução</param>
        /// <param name="dataHoraInicio">Data/Hora de inicio da execução</param>
        /// <param name="dataHoraFim">Data/Hora de fim da execução</param>
        /// <param name="statusExecucao">Status da Execução</param>
        /// <param name="descricao">Descrição/Mensagens da execução</param>
        public Int32 Incluir(Int32 IdProcessoMiscelanea, DateTime dataHoraInicio, DateTime dataHoraFim, CaseBusiness.CC.Scheduler.StatusAgendamentoProcessoExecucao.enmStatusExecucao statusExecucao, String descricao)
        {
            Int32 _id = Int32.MinValue;

            try
            {
                if (ModoEntidadeOnly)
                {
                    throw new ApplicationException("Esta Instância da classe Agendamento está operando em Modo Entidade Only");
                }

                acessoDadosBase.AddParameter("@PROCMISC_ID", IdProcessoMiscelanea);
                acessoDadosBase.AddParameter("@PROCMISCEX_DH_INI", dataHoraInicio);
                acessoDadosBase.AddParameter("@PROCMISCEX_DH_FIM", dataHoraFim);
                acessoDadosBase.AddParameter("@STAPE_ST", StatusAgendamentoProcessoExecucao.ObterDBValue_StatusExecucao(statusExecucao));
                acessoDadosBase.AddParameter("@PROCMISCEX_DS", descricao);
                acessoDadosBase.AddParameter("@PROCMISCEX_ID", Int32.MaxValue, ParameterDirection.InputOutput);

                _id = Convert.ToInt32(acessoDadosBase.ExecuteNonQueryComRetorno(CommandType.StoredProcedure,
                                                                                "prPROCMISCEX_INS")[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;
            }

            return(_id);
        }
Пример #3
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;
            }
        }
Пример #4
0
        /// <summary>
        /// Atualizar Status de Execucao de um Agendamento
        /// </summary>
        /// <param name="idAgendamento">ID Agendamento</param>
        /// <param name="stExecucaoAgendamento">Status do Execução de Agendamento do processo </param>
        public void AtualizarStatusExecucaoAgendamento(Int32 idAgendamento
                                                       , StatusAgendamentoProcessoExecucao.enmStatusExecucao stExecucaoAgendamento)
        {
            try
            {
                if (ModoEntidadeOnly)
                {
                    throw new ApplicationException("Esta Instância da classe Parametro está operando em Modo Entidade Only");
                }

                acessoDadosBase.AddParameter("@AGPROC_ID", idAgendamento);
                acessoDadosBase.AddParameter("@STAPE_ST", StatusAgendamentoProcessoExecucao.ObterDBValue_StatusExecucao(stExecucaoAgendamento));

                switch (stExecucaoAgendamento)
                {
                case StatusAgendamentoProcessoExecucao.enmStatusExecucao.Agendado:
                    acessoDadosBase.AddParameter("@AGPROC_DH_ULT_EXECUCAO", DateTime.MinValue);
                    break;

                default:
                    acessoDadosBase.AddParameter("@AGPROC_DH_ULT_EXECUCAO", DateTime.Now);
                    break;
                }

                acessoDadosBase.ExecuteNonQuerySemRetorno(CommandType.StoredProcedure, "prAGPROC_UPD_STATUS_EXEC_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;
            }
        }
Пример #5
0
        /// <summary>
        /// Lista todos os agendamentos
        /// </summary>
        /// <param name="statusExecucao">Status de execução do Agendamento</param>
        /// <param name="statusAgendamento">Status do agendamento</param>
        /// <returns></returns>
        public DataTable Listar(StatusAgendamentoProcessoExecucao.enmStatusExecucao statusExecucao, enmStatus statusAgendamento)
        {
            DataTable dt = null;

            try
            {
                if (ModoEntidadeOnly)
                {
                    throw new ApplicationException("Esta Instância da classe Agendamento está operando em Modo Entidade Only");
                }

                acessoDadosBase.AddParameter("@STAPE_ST", StatusAgendamentoProcessoExecucao.ObterDBValue_StatusExecucao(statusExecucao));
                acessoDadosBase.AddParameter("@STAGPROC_ST", ObterDBValue_Status(statusAgendamento));

                dt = acessoDadosBase.ExecuteDataSet(CommandType.StoredProcedure,
                                                    "prAGPROC_SEL_LISTAR").Tables[0];

                // Renomear Colunas
                RenomearColunas(ref dt);
            }
            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;
            }

            return(dt);
        }
Пример #6
0
        /// <summary>
        /// Consulta um Agendamento
        /// </summary>
        /// <param name="idAgendamento">ID Agendamento</param>
        public Agendamento ConsultarDependenteExecucao(Int32 idAgendamento)
        {
            try
            {
                DataTable dt;

                if (ModoEntidadeOnly)
                {
                    throw new ApplicationException("Esta Instância da classe Agendamento está operando em Modo Entidade Only");
                }

                acessoDadosBase.AddParameter("@AGPROC_ID", idAgendamento);

                dt = acessoDadosBase.ExecuteDataSet(CommandType.StoredProcedure,
                                                    "prAGPROC_SEL_CONS_DEP_EXEC").Tables[0];

                // Fill Object
                __blnIsLoaded = false;

                if (dt.Rows.Count > 0)
                {
                    IdAgendamento = Convert.ToInt32(dt.Rows[0]["AGPROC_ID"]);
                    IdAgendamentoDependenteExecucao = dt.Rows[0]["AGPROC_ID_DEPEND_EXEC"] == DBNull.Value ? Int32.MinValue : Convert.ToInt32(dt.Rows[0]["AGPROC_ID_DEPEND_EXEC"]);
                    IdSistema = Convert.ToInt32(dt.Rows[0]["SIST_ID"]);
                    if (dt.Rows[0]["SIST_CD_MODULO"] != DBNull.Value)
                    {
                        CodigoSistemaModulo = Convert.ToString(dt.Rows[0]["SIST_CD_MODULO"]);
                    }
                    StatusExecucaoAgendamento  = StatusAgendamentoProcessoExecucao.ObterEnum_StatusExecucao(dt.Rows[0]["STAPE_ST"].ToString().Trim());
                    StatusAgendamento          = ObterEnum_Status(dt.Rows[0]["STAGPROC_ST"].ToString().Trim());
                    DescricaoStatusAgendamento = Convert.ToString(dt.Rows[0]["STAGPROC_DS"]);
                    TipoExecucao       = ObterEnum_TipoExecucao(dt.Rows[0]["AGPROC_TP_EXECUCAO"].ToString().Trim());
                    HoraExecucao       = Convert.ToDateTime(dt.Rows[0]["AGPROC_HR_EXECUCAO"] == DBNull.Value ? DateTime.MinValue : dt.Rows[0]["AGPROC_HR_EXECUCAO"]);
                    DhUltimaExec       = Convert.ToDateTime(dt.Rows[0]["AGPROC_DH_ULT_EXECUCAO"] == DBNull.Value ? DateTime.MinValue : dt.Rows[0]["AGPROC_DH_ULT_EXECUCAO"]);
                    DhProximaExec      = Convert.ToDateTime(dt.Rows[0]["AGPROC_DH_PROX_EXECUCAO"] == DBNull.Value ? DateTime.MinValue : dt.Rows[0]["AGPROC_DH_PROX_EXECUCAO"]);
                    DhManutencaoStatus = Convert.ToDateTime(dt.Rows[0]["AGPROC_DH_USUARIO_STATUS"] == DBNull.Value ? DateTime.MinValue : dt.Rows[0]["AGPROC_DH_USUARIO_STATUS"]);
                    StatusNomeUsuario  = Convert.ToString(dt.Rows[0]["USU_NM"]);
                    __blnIsLoaded      = true;
                }

                return(this);
            }
            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;
            }
        }
Пример #7
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;
            }
        }