Esempio n. 1
0
        public IProtocolo ObterProtocoloAtividadesSolicitadas(int id)
        {
            IProtocolo protocolo = null;
            Processo   processo  = null;

            try
            {
                if (_busProtocolo.ExisteProtocolo(id))
                {
                    protocolo = _busProtocolo.ObterProcessosDocumentos(id);

                    if (protocolo.IsProcesso)
                    {
                        processo = protocolo as Processo;

                        //remove os processos que não tem atividade
                        for (var i = 0; i < processo.Processos.Count; i++)
                        {
                            processo.Processos[i] = (_busProtocolo.ExisteAtividade(processo.Processos[i].Id.Value)) ? processo.Processos[i] : null;
                        }
                        processo.Processos.RemoveAll(x => x == null);

                        //remove os documentos que não tem atividade
                        for (var i = 0; i < processo.Documentos.Count; i++)
                        {
                            processo.Documentos[i] = (_busProtocolo.ExisteAtividade(processo.Documentos[i].Id.Value)) ? processo.Documentos[i] : null;
                        }
                        processo.Documentos.RemoveAll(x => x == null);

                        return(processo);
                    }
                    else
                    {
                        return(protocolo as Documento);
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(null);
        }
        internal bool VerificarProtocolo(ProtocoloNumero protocolo)
        {
            if (String.IsNullOrWhiteSpace(protocolo.NumeroTexto))
            {
                Validacao.Add(Mensagem.AnaliseItem.NumeroObrigatorio);
                return(false);
            }

            if (!ValidacoesGenericasBus.ValidarMaskNumeroBarraAno(protocolo.NumeroTexto))
            {
                Validacao.Add(Mensagem.AnaliseItem.NumeroInvalido);
                return(false);
            }

            if (protocolo.Id == 0)
            {
                Validacao.Add(Mensagem.AnaliseItem.NumeroInexistente);
                return(false);
            }

            string retorno = _busProtocolo.VerificarProtocoloAssociadoNumero(_busProtocolo.ExisteProtocolo(protocolo.NumeroTexto));

            if (!String.IsNullOrEmpty(retorno))
            {
                Validacao.Add(protocolo.IsProcesso ? Mensagem.AnaliseItem.ProcessoApensado(retorno) : Mensagem.AnaliseItem.DocumentoJuntado(retorno));
                return(false);
            }

            if (!_busProtocolo.EmPosse(protocolo.Id))
            {
                Validacao.Add(Mensagem.AnaliseItem.ProtocoloSemPosse);
                return(false);
            }

            if (!_busProtocolo.ExisteRequerimento(protocolo.Id, exibirMsg: false))
            {
                Validacao.Add(Mensagem.AnaliseItem.ExisteRequerimento);
                return(false);
            }

            return(Validacao.EhValido);
        }