internal bool Excluir(int id)
        {
            if (Juntado(id))
            {
                return(false);
            }

            TramitacaoBus busTramitacao = new TramitacaoBus();

            if (busTramitacao.ExisteTramitacao(id))
            {
                Validacao.Add(Mensagem.Documento.EmTramitacao);
                return(Validacao.EhValido);
            }

            if (!_da.EmPosse(id))
            {
                Validacao.Add(Mensagem.Documento.PosseDocumentoNecessariaExcluir);
                return(Validacao.EhValido);
            }

            String processoPaiNumero = _da.ObterNumeroProcessoPai(id);

            if (!String.IsNullOrEmpty(processoPaiNumero))
            {
                Validacao.Add(Mensagem.Documento.NaoPossivelExcluirDocumentoFilho(processoPaiNumero));
            }

            VerificarPossuiAnalise(id);

            Documento documento = _da.Obter(id, true) as Documento;

            if (documento.Fiscalizacao.Id > 0)
            {
                VerificarPossuiAcompanhamentoFiscalizacao(documento.Fiscalizacao.Id);
            }

            VerificarAssociadoTitulo(id);

            VerificarPossuiCARSolicitacao(id);

            return(Validacao.EhValido);
        }
Exemple #2
0
        internal bool Excluir(int id)
        {
            try
            {
                if (!EmPosse(id))
                {
                    Validacao.Add(Mensagem.Processo.PosseProcessoNecessariaExcluir);
                    return(Validacao.EhValido);
                }

                String processoPaiNumero = _da.ObterNumeroProcessoPai(id);
                if (!String.IsNullOrEmpty(processoPaiNumero))
                {
                    Validacao.Add(Mensagem.Processo.ExcluirApensadoPai(processoPaiNumero));
                    return(Validacao.EhValido);
                }

                List <string> processosFilhos = _da.ObterNumeroProcessoFilhos(id);
                foreach (var item in processosFilhos)
                {
                    Validacao.Add(Mensagem.Processo.ExcluirApensadoFilho(item));
                }

                List <string> documentosFilhos = _da.ObterNumeroDocumentosFilhos(id);
                foreach (var item in documentosFilhos)
                {
                    Validacao.Add(Mensagem.Processo.ExcluirDocumentosJuntados(item));
                }

                List <string> documentosAssociados = _da.VerificarProtocoloAssociadoOutroProtocolo(id);
                foreach (var item in documentosAssociados)
                {
                    Validacao.Add(Mensagem.Processo.ProcessoAssociadoProtocolo(item));
                }

                TramitacaoBus busTramitacao = new TramitacaoBus();
                if (busTramitacao.ExisteTramitacao(id))
                {
                    Validacao.Add(Mensagem.Processo.EmTramitacao);
                }

                if (_da.VerificarPossuiAnalise(id))
                {
                    Validacao.Add(Mensagem.Processo.ExcluirAnalise);
                }

                Processo processo = _da.Obter(id, true) as Processo;
                if (processo.Fiscalizacao.Id > 0)
                {
                    if (processo.Fiscalizacao.SituacaoId >= 5)
                    {
                        Validacao.Add(Mensagem.Processo.FiscalizacaoAssociadaNaoPodeExluirSituacao(processo.Fiscalizacao.Id.ToString(), processo.Fiscalizacao.SituacaoTexto));
                    }
                    else
                    {
                        VerificarPossuiAcompanhamentoFiscalizacao(processo.Fiscalizacao.Id);
                    }
                }

                VerificarAssociadoTitulo(id);

                VerificarPossuiCARSolicitacao(id);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(Validacao.EhValido);
        }
 public string ObterNumeroProcessoPai(int?id)
 {
     return(_da.ObterNumeroProcessoPai(id));
 }