public void CopiarDadosCredenciado(Dependencia dependencia, int empreendimentoInternoID, BancoDeDados banco, BancoDeDados bancoCredenciado) { if (banco == null) { return; } #region Configurar Projeto //Obter do Credenciado Cred.ModuloProjetoGeografico.Bussiness.ProjetoGeograficoBus projetoGeoCredBus = new Cred.ModuloProjetoGeografico.Bussiness.ProjetoGeograficoBus(); ProjetoGeografico projetoGeo = projetoGeoCredBus.ObterHistorico(dependencia.DependenciaId, dependencia.DependenciaTid); eCaracterizacao caracterizacaoTipo = (eCaracterizacao)dependencia.DependenciaCaracterizacao; int projetoGeoCredenciadoId = projetoGeo.Id; int empreendimentoCredenciadoId = projetoGeo.EmpreendimentoId; bool atualizarDependencias = (!Desatualizado(projetoGeo.InternoID, projetoGeo.InternoTID) && !projetoGeo.AlteradoCopiar); #endregion if (_validar.CopiarDadosCredenciado(projetoGeo)) { GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { bancoDeDados.IniciarTransacao(); _da.CopiarDadosCredenciado(projetoGeo, empreendimentoInternoID, bancoDeDados); projetoGeoCredBus.AtualizarInternoIdTid( empreendimentoCredenciadoId, projetoGeoCredenciadoId, (eCaracterizacao)projetoGeo.CaracterizacaoId, projetoGeo.Id, GerenciadorTransacao.ObterIDAtual(), bancoCredenciado); #region Arquivo ArquivoBus _busArquivoInterno = new ArquivoBus(eExecutorTipo.Interno); ArquivoBus _busArquivoCredenciado = new ArquivoBus(eExecutorTipo.Credenciado); foreach (var item in projetoGeo.Arquivos) { Arquivo aux = _busArquivoCredenciado.Obter(item.Id.Value); //Obtém o arquivo completo do diretorio do credenciado(nome, buffer, etc) aux.Id = 0; //Zera o ID aux = _busArquivoInterno.SalvarTemp(aux); //salva no diretório temporário aux = _busArquivoInterno.Copiar(aux); //Copia para o diretório oficial //Salvar na Oficial ArquivoDa arquivoDa = new ArquivoDa(); arquivoDa.Salvar(aux, User.FuncionarioId, User.Name, User.Login, (int)eExecutorTipo.Interno, User.FuncionarioTid, bancoDeDados); item.Id = aux.Id; } _da.SalvarArquivosCredenciado(projetoGeo, bancoDeDados); #endregion #region Histórico HistCaract.Historico historico = new HistCaract.Historico(); historico.Gerar(projetoGeo.Id, eHistoricoArtefatoCaracterizacao.projetogeografico, eHistoricoAcao.importar, bancoDeDados); historico.GerarGeo(projetoGeo.Id, eHistoricoArtefatoCaracterizacao.projetogeografico, eHistoricoAcao.importar, bancoDeDados); #endregion #region Dependencias //Gerencia as dependências projetoGeo.Dependencias = _caracterizacaoBus.ObterDependenciasAtual(empreendimentoInternoID, caracterizacaoTipo, eCaracterizacaoDependenciaTipo.ProjetoGeografico); _caracterizacaoBus.Dependencias(new Caracterizacao() { Id = projetoGeo.Id, Tipo = caracterizacaoTipo, DependenteTipo = eCaracterizacaoDependenciaTipo.ProjetoGeografico, Dependencias = projetoGeo.Dependencias }, bancoDeDados); if (projetoGeo.InternoID > 0) { if (atualizarDependencias) { CaracterizacaoBus caracterizacaoBus = new CaracterizacaoBus(); caracterizacaoBus.AtualizarDependentes(projetoGeo.InternoID, caracterizacaoTipo, eCaracterizacaoDependenciaTipo.ProjetoGeografico, projetoGeo.Tid, bancoDeDados); } } #endregion bancoDeDados.Commit(); } } }
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)); }