public ActionResult VisualizarProjetoGeoCredenciado(int projetoDigitalId, int dependenciaTipo, int protocoloId, int requerimentoId) { ProjetoGeograficoVM vm = new ProjetoGeograficoVM() { ProtocoloId = protocoloId, RequerimentoId = requerimentoId, IsCredenciado = true }; Cred.ModuloProjetoGeografico.Bussiness.ProjetoGeograficoBus projetoGeoCredBus = new Cred.ModuloProjetoGeografico.Bussiness.ProjetoGeograficoBus(); Cred.ModuloDominialidade.Business.DominialidadeBus dominialidadeCredBus = new Cred.ModuloDominialidade.Business.DominialidadeBus(); Cred.ModuloCaracterizacao.Bussiness.CaracterizacaoBus caracterizacaoCredBus = new Cred.ModuloCaracterizacao.Bussiness.CaracterizacaoBus(); ProjetoDigitalCredenciadoBus busProjetoDigitalCredenciado = new ProjetoDigitalCredenciadoBus(); List <Dependencia> lstDependencias = busProjetoDigitalCredenciado.ObterDependencias(projetoDigitalId); Dependencia dependencia = lstDependencias.SingleOrDefault(x => x.DependenciaCaracterizacao == dependenciaTipo && x.DependenciaTipo == (int)eCaracterizacaoDependenciaTipo.ProjetoGeografico) ?? new Dependencia(); vm.Projeto = projetoGeoCredBus.ObterHistorico(dependencia.DependenciaId, dependencia.DependenciaTid); vm.IsVisualizar = true; vm.IsVisualizarCredenciado = true; vm.Desenhador.Mostrar = false; vm.Sobreposicoes.MostarVerificar = false; vm.BaseReferencia.IsVisualizar = true; vm.EnviarProjeto.IsVisualizar = true; vm.IsProcessado = projetoGeoCredBus.IsProcessado(vm.Projeto.Id, (eCaracterizacao)dependenciaTipo); Dominialidade dominialidade = dominialidadeCredBus.ObterDadosGeo(vm.Projeto.EmpreendimentoId); vm.PossuiAPPNaoCaracterizada = dominialidade.AreaAPPNaoCaracterizada.MaiorToleranciaM2(); vm.PossuiARLNaoCaracterizada = dominialidade.ARLNaoCaracterizada.MaiorToleranciaM2(); //Carregar os dados do projeto geográfico eCaracterizacao tipo = (eCaracterizacao)vm.Projeto.CaracterizacaoId; vm.ArquivoEnviadoTipo = (int)eProjetoGeograficoArquivoTipo.ArquivoEnviado; vm.ArquivoEnviadoFilaTipo = (tipo == eCaracterizacao.Dominialidade) ? (int)eFilaTipoGeo.Dominialidade : (int)eFilaTipoGeo.Atividade; vm.NiveisPrecisao = ViewModelHelper.CriarSelectList(_bus.ObterNiveisPrecisao()); vm.SistemaCoordenada = ViewModelHelper.CriarSelectList(_bus.ObterSistemaCoordenada()); Empreendimento emp = new EmpreendimentoCredenciadoBus().Obter(vm.Projeto.EmpreendimentoId); vm.Projeto.EmpreendimentoEasting = emp.Coordenada.EastingUtm.Value; vm.Projeto.EmpreendimentoNorthing = emp.Coordenada.NorthingUtm.Value; vm.Projeto.CaracterizacaoTexto = (_listaBus.Caracterizacoes.SingleOrDefault(x => x.Id == vm.Projeto.CaracterizacaoId) ?? new CaracterizacaoLst()).Texto; vm.Projeto.SistemaCoordenada = ConcatenarSistemaCoordenada(emp); vm.AtualizarDependenciasModalTitulo = Mensagem.Caracterizacao.AtualizarDependenciasModalTitulo.Texto; vm.UrlBaixarOrtofoto = _config.Obter <string>(ConfiguracaoSistema.KeyUrlGeoBasesWebServices) + "/Arquivo/DownloadArquivoOrtoFoto"; vm.UrlValidarOrtofoto = _config.Obter <string>(ConfiguracaoSistema.KeyUrlGeoBasesWebServices) + "/Arquivo/ValidarChaveArquivoOrtoFoto"; vm.UrlsArquivo = ViewModelHelper.Json(ObterUrlsArquivo()); vm.UrlVoltar = Url.Action("Analisar", "AnaliseItens", new { protocoloId = protocoloId, requerimentoId = requerimentoId }); #region Verificar o Redirecionamento vm.UrlAvancar = Url.Action("VisualizarCredenciado", "Dominialidade", new { projetoDigitalId = projetoDigitalId, protocoloId = protocoloId }); List <DependenciaLst> dependencias = _caracterizacaoConfig.Obter <List <DependenciaLst> >(ConfiguracaoCaracterizacao.KeyCaracterizacoesDependencias); #endregion if (vm.Projeto.Dependencias == null || vm.Projeto.Dependencias.Count == 0) { vm.Projeto.Dependencias = _caracterizacaoBus.ObterDependenciasAtual(vm.Projeto.EmpreendimentoId, tipo, eCaracterizacaoDependenciaTipo.ProjetoGeografico); } if (vm.Projeto.Id > 0) { vm.TextoMerge = _caracterizacaoValidar.DependenciasAlteradas( vm.Projeto.EmpreendimentoId, vm.Projeto.CaracterizacaoId, eCaracterizacaoDependenciaTipo.ProjetoGeografico, vm.Projeto.Dependencias, true); } vm.Projeto.Dependencias = caracterizacaoCredBus.ObterDependenciasAtual(vm.Projeto.EmpreendimentoId, tipo, eCaracterizacaoDependenciaTipo.ProjetoGeografico); //Busca as dependencias desse projeto geográfico projetoGeoCredBus.ObterDependencias(vm.Projeto, true); if (vm.Projeto.Id > 0) { vm.CarregarVMs(); } return(View("ProjetoGeografico", vm)); }
public bool CopiarDadosCredenciado(Dependencia dependencia, int empreendimentoInternoId, BancoDeDados banco, BancoDeDados bancoCredenciado) { if (banco == null) { return(false); } if (_validar == null) { _validar = new DominialidadeValidar(); } #region Configurar Caracterização DominialidadeCred.Business.DominialidadeBus dominialidadeCredBus = new DominialidadeCred.Business.DominialidadeBus(); Dominialidade caracterizacao = dominialidadeCredBus.ObterHistorico(dependencia.DependenciaId, dependencia.DependenciaTid); int dominialidadeCredenciadoId = dependencia.DependenciaId; int empreendimentoCredenciadoId = caracterizacao.EmpreendimentoId; caracterizacao.EmpreendimentoId = empreendimentoInternoId; caracterizacao.CredenciadoID = caracterizacao.Id; caracterizacao.Id = 0; caracterizacao.Tid = string.Empty; caracterizacao.Areas.ForEach(r => { r.Id = 0; }); caracterizacao.Dominios.ForEach(r => { r.Id = 0; }); caracterizacao.Dominios.SelectMany(x => x.ReservasLegais).ToList().ForEach(r => { r.Id = 0; }); #endregion if (_validar.CopiarDadosCredenciado(caracterizacao)) { GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { bancoDeDados.IniciarTransacao(); //Setar ID caracterizacao.Id = ObterPorEmpreendimento(empreendimentoInternoId, simplificado: true, banco: bancoDeDados).Id; _da.CopiarDadosCredenciado(caracterizacao, bancoDeDados); dominialidadeCredBus.AtualizarInternoIdTid(empreendimentoCredenciadoId, dominialidadeCredenciadoId, caracterizacao.Id, GerenciadorTransacao.ObterIDAtual(), bancoCredenciado); #region Dependencias //Gerencia as dependências da caracterização caracterizacao.Dependencias = _busCaracterizacao.ObterDependenciasAtual(empreendimentoInternoId, eCaracterizacao.Dominialidade, eCaracterizacaoDependenciaTipo.Caracterizacao); _busCaracterizacao.Dependencias(new Caracterizacao() { Id = caracterizacao.Id, Tipo = eCaracterizacao.Dominialidade, DependenteTipo = eCaracterizacaoDependenciaTipo.Caracterizacao, Dependencias = caracterizacao.Dependencias }, bancoDeDados); if (caracterizacao.InternoID > 0) { if (!Desatualizado(caracterizacao.InternoID, caracterizacao.InternoTID) && !caracterizacao.AlteradoCopiar) { CaracterizacaoBus caracterizacaoBus = new CaracterizacaoBus(); caracterizacaoBus.AtualizarDependentes(caracterizacao.InternoID, eCaracterizacao.Dominialidade, eCaracterizacaoDependenciaTipo.Caracterizacao, caracterizacao.Tid, bancoDeDados); } } #endregion bancoDeDados.Commit(); } } return(Validacao.EhValido); }