public void CancelarEnvio(int projetoId) { try { ProjetoDigital projeto = Obter(projetoId); if (_validar.CancelarEnvio(projeto)) { projeto.Situacao = (int)eProjetoDigitalSituacao.EmElaboracao; projeto.Etapa = (int)eProjetoDigitalEtapa.Caracterizacao; GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado)) { bancoDeDados.IniciarTransacao(); int solicitacao = new RequerimentoCredenciadoDa().PossuiSolicitacaoCARValidaSuspensaPendente(projeto.RequerimentoId); if (solicitacao > 0) { new CARSolicitacaoBus().AlterarSituacao( new CARSolicitacao() { Id = solicitacao }, new CARSolicitacao() { SituacaoId = (int)eCARSolicitacaoSituacao.Invalido }, bancoDeDados); } TituloDeclaratorioBus tituloDeclaratorioBus = new TituloDeclaratorioBus(); tituloDeclaratorioBus.AcerrarTitulo(projeto.RequerimentoId); if (!Validacao.EhValido) { bancoDeDados.Rollback(); return; } _da.CancelarEnvio(projeto, bancoDeDados); ExcluirTemporario(projeto.Id); Validacao.Add(Mensagem.ProjetoDigital.CancelarEnvio); bancoDeDados.Commit(); } } } catch (Exception exc) { Validacao.AddErro(exc); } }