Пример #1
0
 public CaracterizacaoBus()
 {
     _da = new CaracterizacaoDa();
     _caracterizacaoConfig         = new GerenciadorConfiguracao <ConfiguracaoCaracterizacao>(new ConfiguracaoCaracterizacao());
     _busCaracterizacaoCredenciado = new CaracterizacaoCredenciadoBus();
 }
Пример #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);
            }
        }