public CaracterizacaoBus() { _da = new CaracterizacaoDa(); _caracterizacaoConfig = new GerenciadorConfiguracao <ConfiguracaoCaracterizacao>(new ConfiguracaoCaracterizacao()); _busCaracterizacaoCredenciado = new CaracterizacaoCredenciadoBus(); }
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); } }