Exemplo n.º 1
0
        /// <summary>
        /// Inicializar um novo monitoramento de um processo cujo progresso será controlado automaticamente, passando os dados para o monitor de tarefas.
        /// </summary>
        /// <param name="handleUsuario">Handle do usuário corrente</param>
        /// <param name="descricaoProcesso">Descrição amigável do processo, deve identificar o dado sendo processado. Ex: Liberação do PEG nº 167928</param>
        /// <returns>Instância da entidade responsável pelo monitoramento</returns>
        public static void NovoMonitoramentoProgressoAutomatico(long handleUsuario, string descricaoProcesso)
        {
            var mensagem = mensagemInicialAutomatica;
            MonitoramentoProcesso monitoramento = MonitoramentoProcessoHelper.Current as MonitoramentoProcesso;

            if ((monitoramento == null) || (!monitoramento.InstanciaAutomatica)) // Se não existe monitoramento corrente, ou se não é automático
            {
                monitoramento = NewMonitoramento(handleUsuario, descricaoProcesso, mensagem,
                                                 0, null, null, null, instanciaAutomatica: false, progressoAutomatico: true);
            }
            monitoramento.InicializarDados(descricaoProcesso, mensagem, 0, null, null);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Inicializar um novo monitoramento de um processo cujo progresso será controlado manualmente, passando os dados para o monitor de tarefas.
        /// </summary>
        /// <param name="handleUsuario">Handle do usuário corrente</param>
        /// <param name="descricaoProcesso">Descrição amigável do processo, deve identificar o dado sendo processado. Ex: Liberação do PEG nº 167928</param>
        /// <param name="mensagem">Mensagem inicial exibida no monitoramento</param>
        /// <param name="progressoMaximo">Valor que indica o valor máximo de progresso do processamento</param>
        /// <param name="handleRegistroRotina">Handle do registro da rotina, deve ser usado ao monitorar o processamento de uma rotina com tabela, situação e ocorrências.</param>
        /// <param name="nomeTabelaRotina">Nome da tabela da rotina, deve ser usado ao monitorar o processamento de uma rotina com tabela, situação e ocorrências.</param>
        /// <param name="pegarOcorrenciasNaTabelaInformada">Indica se deve pegar as ocorrências diretamente na tabela informada</param>
        /// <returns>Instância da entidade responsável pelo monitoramento</returns>
        public static IMonitoramentoProcesso NovoMonitoramentoProgressoManual(long handleUsuario, string descricaoProcesso, string mensagem,
                                                                              int progressoMaximo, long?handleRegistroRotina, string nomeTabelaRotina, bool pegarOcorrenciasNaTabelaInformada = true)
        {
            if (String.IsNullOrEmpty(mensagem))
            {
                mensagem = mensagemInicialAutomatica;
            }
            MonitoramentoProcesso monitoramento = MonitoramentoProcessoHelper.Current as MonitoramentoProcesso;

            if ((monitoramento == null) || (!monitoramento.InstanciaAutomatica)) // Se não existe monitoramento corrente, ou se não é automático
            {
                monitoramento = NewMonitoramento(handleUsuario, descricaoProcesso, mensagem,
                                                 progressoMaximo, handleRegistroRotina, nomeTabelaRotina, null, instanciaAutomatica: false, progressoAutomatico: false);
            }
            monitoramento.InicializarDados(descricaoProcesso, mensagem, progressoMaximo, handleRegistroRotina, nomeTabelaRotina);
            return(monitoramento);
        }
Exemplo n.º 3
0
        /// <summary>
        /// * Não deve ser chamado manualmente! Inicializar um novo monitoramento automático instanciado pelo Proxy.
        /// </summary>
        /// <param name="handleUsuario">Handle do usuário corrente</param>
        /// <param name="descricaoProcesso">Descrição amigável do processo, deve identificar o dado sendo processado. Ex: Liberação do PEG nº 167928</param>
        /// <returns>Instância da entidade responsável pelo monitoramento</returns>
        public static IMonitoramentoProcesso MonitoramentoAutomaticoProxy(long handleUsuario, MethodBase metodoChamada)
        {
            // Não inicializa monitoramento automático caso já exista um no contexto
            if (MonitoramentoProcessoHelper.Current != null)
            {
                return(null);
            }

            var mensagem          = mensagemInicialAutomatica;
            var descricaoProcesso = FormatarDescricaoProcesso(metodoChamada);
            MonitoramentoProcesso monitoramento = MonitoramentoProcessoHelper.Current as MonitoramentoProcesso;

            if ((monitoramento == null) || (!monitoramento.InstanciaAutomatica)) // Se não existe monitoramento corrente, ou se não é automático
            {
                monitoramento = NewMonitoramento(handleUsuario, descricaoProcesso, mensagem,
                                                 1, null, null, null, false, true);
            }
            monitoramento.InicializarDados(descricaoProcesso, mensagem, 1, null, null);
            return(monitoramento);
        }