コード例 #1
0
        public bool Excluir(int id)
        {
            try
            {
                if (_validar.Excluir(id))
                {
                    GerenciadorTransacao.ObterIDAtual();

                    using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
                    {
                        ChecagemPendenciaBus _checagemPendenciaBus = new ChecagemPendenciaBus();
                        Documento            doc = _da.ObterAtividades(id) as Documento;

                        #region Atividades

                        AtividadeBus atividadeBus = new AtividadeBus();
                        atividadeBus.TituloAnteriores(new List <Atividade>(), doc.Atividades, bancoDeDados);

                        #endregion

                        _da.Excluir(id, bancoDeDados);

                        AlterarRequerimentoSituacao(doc, banco: bancoDeDados);

                        if (doc.ChecagemRoteiro.Id > 0)
                        {
                            _busCheckList.AlterarSituacao(doc.ChecagemRoteiro.Id, 1, bancoDeDados);
                        }

                        if (doc.ChecagemPendencia.Id > 0)
                        {
                            doc.ChecagemPendencia.SituacaoId = 1;                            //finalizada
                            _checagemPendenciaBus.AlterarSituacao(doc.ChecagemPendencia, bancoDeDados);
                        }

                        if (doc.Fiscalizacao.Id > 0)
                        {
                            doc.Fiscalizacao.SituacaoNovaTipo      = (int)eFiscalizacaoSituacao.CadastroConcluido;
                            doc.Fiscalizacao.SituacaoNovaData.Data = DateTime.Now;

                            _busFiscalizacao.AlterarSituacaoProcDoc(doc.Fiscalizacao, bancoDeDados);
                        }

                        using (BancoDeDados bancoDeDadosCredenciado = BancoDeDados.ObterInstancia(UsuarioCredenciado))
                        {
                            bancoDeDadosCredenciado.IniciarTransacao();

                            //CARSolicitacaoBus carSolicitacaoCredenciadoBus = new CARSolicitacaoBus();
                            //carSolicitacaoCredenciadoBus.DesassociarProtocolo(new CARSolicitacao() { Requerimento = doc.Requerimento });

                            _busProjetoDigital.AlterarSituacao(doc.Requerimento.Id, eProjetoDigitalSituacao.AguardandoProtocolo, bancoDeDadosCredenciado);

                            if (!Validacao.EhValido)
                            {
                                bancoDeDadosCredenciado.Rollback();
                                bancoDeDados.Rollback();
                                return(false);
                            }

                            bancoDeDadosCredenciado.Commit();
                        }

                        Validacao.Add(Mensagem.Documento.Excluir);
                        bancoDeDados.Commit();
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(Validacao.EhValido);
        }