Ejemplo n.º 1
0
        public bool ExcluirCaracterizacoes(int empreendimento, BancoDeDados banco = null)
        {
            List <CaracterizacaoLst> caracterizacoes = CaracterizacaoConfig.Obter <List <CaracterizacaoLst> >(ConfiguracaoCaracterizacao.KeyCaracterizacoes);
            ICaracterizacaoBus       caracterizacao;

            try
            {
                if (!ValidarEmPosse(empreendimento))
                {
                    return(Validacao.EhValido);
                }

                if (caracterizacoes != null && caracterizacoes.Count > 0)
                {
                    using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
                    {
                        bancoDeDados.IniciarTransacao();

                        GerenciadorTransacao.ObterIDAtual();

                        foreach (CaracterizacaoLst car in caracterizacoes)
                        {
                            caracterizacao = CaracterizacaoBusFactory.Criar((eCaracterizacao)car.Id);

                            if (caracterizacao == null)
                            {
                                Validacao.Add(eTipoMensagem.Erro, String.Format("{0} Bus não criada", car.Texto));
                                continue;
                            }

                            caracterizacao.Excluir(empreendimento, bancoDeDados, false);
                        }

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

            return(Validacao.EhValido);
        }
Ejemplo n.º 2
0
        public bool CopiarDadosCredenciado(int projetoDigitalID, BancoDeDados banco, BancoDeDados bancoCredenciado)
        {
            try
            {
                CaractCredBus.CaracterizacaoBus caracCredBus = new CaractCredBus.CaracterizacaoBus();
                ProjetoDigitalCredenciadoBus    projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus();
                int empreendimentoID = projetoDigitalCredenciadoBus.Obter(projetoDigitalID, 0, null, null).EmpreendimentoId ?? 0;

                if (empreendimentoID < 1)
                {
                    return(false);
                }

                EmpreendimentoCaracterizacao empreendimento       = caracCredBus.ObterEmpreendimentoSimplificado(empreendimentoID);
                ProjetoGeograficoBus         projetoGeograficoBus = new ProjetoGeograficoBus();

                List <Dependencia> dependencias = projetoDigitalCredenciadoBus.ObterDependencias(projetoDigitalID);
                ICaracterizacaoBus caracterizacaoBus;
                GerenciadorTransacao.ObterIDAtual();

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

                    foreach (Dependencia item in dependencias.Where(x => x.DependenciaTipo == (int)eCaracterizacaoDependenciaTipo.ProjetoGeografico).ToList())
                    {
                        projetoGeograficoBus.CopiarDadosCredenciado(item, empreendimento.InternoID, bancoDeDados, bancoCredenciado);

                        if (!Validacao.EhValido)
                        {
                            break;
                        }
                    }

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

                    foreach (Dependencia item in dependencias.Where(x => x.DependenciaTipo == (int)eCaracterizacaoDependenciaTipo.Caracterizacao).ToList())
                    {
                        caracterizacaoBus = CaracterizacaoBusFactory.Criar((eCaracterizacao)item.DependenciaCaracterizacao);

                        if (caracterizacaoBus == null)
                        {
                            Validacao.Add(eTipoMensagem.Erro, item.DependenciaCaracterizacaoTexto + " Bus não criada");
                        }

                        if (!caracterizacaoBus.CopiarDadosCredenciado(item, empreendimento.InternoID, bancoDeDados, bancoCredenciado))
                        {
                            break;
                        }
                    }

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

                    Validacao.Add(Mensagem.ProjetoDigital.CopiarCaracterizacao);
                    bancoDeDados.Commit();
                }

                return(true);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
                return(false);
            }
        }