Exemplo n.º 1
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);
        }