Exemple #1
0
 private BSMonitoramento InternalExecuteProcedure(SituacaoMonitoramento SituacaoSolicitada, bool concatenarOcorrencias, string ocorrencia)
 {
     using (var scope = new TransactionScope(TransactionScopeOption.RequiresNew))
     {
         using (var session = SessionHelper.SessionFactory.OpenSession())
         {
             var procedureInvoker = new ProcedureInvoker(session);
             var bsMonitoramento  = BSMonitoramento.Executar(procedureInvoker,
                                                             logger,
                                                             (long?)SituacaoSolicitada,
                                                             HandleRegistro,
                                                             Descricao,
                                                             UsuarioExecucao,
                                                             HostExecucao,
                                                             ProgressoAtual,
                                                             ProgressoMaximo,
                                                             HostAbortar,
                                                             UsuarioAbortar,
                                                             MensagemAtual,
                                                             ocorrencia,
                                                             HandleRotina,
                                                             TabelaRotina,
                                                             LocalChamada,
                                                             ArquivoLogs,
                                                             "-",
                                                             concatenarOcorrencias ? 1 : 0,
                                                             ChaveCorrelacao,
                                                             HandleProcessoPai,
                                                             BooleanHelper.getBuilderBooleanToString(ProgressoAutomatico),
                                                             BooleanHelper.getBuilderBooleanToString(GerouCriticas));
             scope.Complete();
             return(bsMonitoramento);
         }
     }
 }
Exemple #2
0
        private SituacaoMonitoramento CallProcedure(SituacaoMonitoramento SituacaoSolicitada)
        {
            BSMonitoramento resultado = new BSMonitoramento();

            string ocorrenciasGravar     = OcorrenciaFinal ?? String.Empty;
            var    concatenarOcorrencias = false;

            if (!String.IsNullOrEmpty(OcorrenciaConcatenar))
            {
                concatenarOcorrencias = true;
                ocorrenciasGravar     = OcorrenciaConcatenar;
                OcorrenciaConcatenar  = String.Empty;
            }

            var splitOcorrencias = ocorrenciasGravar.Split(3950);

            if (splitOcorrencias.Count > 0)
            {
                foreach (string ocorrencia in splitOcorrencias)
                {
                    resultado             = InternalExecuteProcedure(SituacaoSolicitada, concatenarOcorrencias, ocorrencia);
                    concatenarOcorrencias = true;
                }
            }
            else
            {
                resultado = InternalExecuteProcedure(SituacaoSolicitada, concatenarOcorrencias, string.Empty);
            }

            if (SituacaoSolicitada == SituacaoMonitoramento.Iniciada)
            {
                HandleRegistro = resultado.Handle ?? 0;
            }

            return(String.IsNullOrEmpty(resultado.Situacao)
                       ? SituacaoMonitoramento.Nenhuma
                       : (SituacaoMonitoramento)Int32.Parse(resultado.Situacao));
        }