예제 #1
0
        public bool Excluir(int empreendimento, BancoDeDados banco = null, bool validarDependencias = true)
        {
            try
            {
                if (!_caracterizacaoValidar.Basicas(empreendimento))
                {
                    return(Validacao.EhValido);
                }

                if (validarDependencias && !_caracterizacaoValidar.DependenciasExcluir(empreendimento, eCaracterizacao.UnidadeConsolidacao))
                {
                    return(Validacao.EhValido);
                }

                GerenciadorTransacao.ObterIDAtual();

                using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
                {
                    bancoDeDados.IniciarTransacao();

                    _da.Excluir(empreendimento, bancoDeDados);

                    Validacao.Add(Mensagem.UnidadeConsolidacao.ExcluidoSucesso);

                    bancoDeDados.Commit();
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(Validacao.EhValido);
        }
        public bool Excluir(int empreendimento, BancoDeDados banco = null, bool validarDependencias = true)
        {
            try
            {
                if (!_caracterizacaoValidar.Basicas(empreendimento))
                {
                    return(Validacao.EhValido);
                }

                if (validarDependencias && !_caracterizacaoValidar.DependenciasExcluir(empreendimento, eCaracterizacao.ExploracaoFlorestal))
                {
                    return(Validacao.EhValido);
                }

                GerenciadorTransacao.ObterIDAtual();

                using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
                {
                    bancoDeDados.IniciarTransacao();

                    var exploracoes         = _da.ObterPorEmpreendimentoList(empreendimento, true);
                    var exploracoesEmAberto = exploracoes?.Where(x => x.DataConclusao.IsValido == false && x.PossuiVinculoComTitulo == false);
                    foreach (var exploracao in exploracoesEmAberto)
                    {
                        _da.Excluir(exploracao.Id, bancoDeDados);
                    }

                    if (exploracoesEmAberto?.Count() == exploracoes?.Count())
                    {
                        var projetoId = _projetoGeoBus.ExisteProjetoGeografico(empreendimento, (int)eCaracterizacao.ExploracaoFlorestal, finalizado: false);
                        var projeto   = _projetoGeoBus.ObterProjeto(projetoId, simplificado: false);
                        _projetoGeoBus.ExcluirRascunho(projeto, bancoDeDados);
                    }

                    if (exploracoesEmAberto?.Count() == 0 && exploracoes?.Count() > 0)
                    {
                        bancoDeDados.Rollback();
                        Validacao.Add(Mensagem.ExploracaoFlorestal.PossuiTituloVinculado);
                        return(Validacao.EhValido);
                    }

                    Validacao.Add(Mensagem.ExploracaoFlorestal.Excluir);

                    bancoDeDados.Commit();
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(Validacao.EhValido);
        }
예제 #3
0
        public bool Excluir(int empreendimento, BancoDeDados banco = null, bool validarDependencias = true)
        {
            try
            {
                if (!_caracterizacaoValidar.Basicas(empreendimento))
                {
                    return(Validacao.EhValido);
                }

                if (validarDependencias && !_caracterizacaoValidar.DependenciasExcluir(empreendimento, eCaracterizacao.ProducaoCarvaoVegetal))
                {
                    return(Validacao.EhValido);
                }

                GerenciadorTransacao.ObterIDAtual();

                using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
                {
                    bancoDeDados.IniciarTransacao();

                    _da.Excluir(empreendimento, bancoDeDados);

                    _projetoGeoBus.Excluir(empreendimento, eCaracterizacao.ProducaoCarvaoVegetal);

                    _descricaoAtividade.Excluir(empreendimento, eCaracterizacao.ProducaoCarvaoVegetal);

                    Validacao.Add(Mensagem.ProducaoCarvaoVegetal.Excluir);

                    bancoDeDados.Commit();
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(Validacao.EhValido);
        }
        public bool Excluir(int empreendimento, BancoDeDados banco = null, bool validarDependencias = true)
        {
            try
            {
                if (!_caracterizacaoValidar.Basicas(empreendimento))
                {
                    return(Validacao.EhValido);
                }

                if (validarDependencias && !_caracterizacaoValidar.DependenciasExcluir(empreendimento, eCaracterizacao.BarragemDispensaLicenca, eCaracterizacaoDependenciaTipo.Caracterizacao))
                {
                    return(Validacao.EhValido);
                }

                GerenciadorTransacao.ObterIDAtual();

                using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco, EsquemaCredenciadoBanco))
                {
                    bancoDeDados.IniciarTransacao();

                    CaracterizacaoBus caracterizacaoBus = new CaracterizacaoBus();
                    caracterizacaoBus.ConfigurarEtapaExcluirCaracterizacao(empreendimento, bancoDeDados);

                    _da.Excluir(empreendimento, bancoDeDados);

                    Validacao.Add(Mensagem.BarragemDispensaLicenca.Excluir);

                    bancoDeDados.Commit();
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(Validacao.EhValido);
        }