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); }