public bool AssociarRequerimento(Requerimento requerimento, int modeloId) { RequerimentoCredenciadoBus requerimentoBus = new RequerimentoCredenciadoBus(); requerimento = requerimentoBus.ObterSimplificado(requerimento.Id); ProjetoDigitalCredenciadoBus projetoDigitalBus = new ProjetoDigitalCredenciadoBus(); var projetoDigital = projetoDigitalBus.Obter(idRequerimento: requerimento.Id); if (projetoDigital.Situacao != (int)eProjetoDigitalSituacao.AguardandoImportacao) { Validacao.Add(Mensagem.Titulo.ProjetoDigitalSituacaoInvalida); } if (requerimento.SituacaoId != (int)eRequerimentoSituacao.Finalizado) { Validacao.Add(Mensagem.Titulo.RequerimentoSituacaoInvalida); } if (!requerimentoBus.VerificarRequerimentoPossuiModelo(modeloId, requerimento.Id)) { Validacao.Add(Mensagem.Titulo.RequerimentoNaoPossuiModelo); } return(Validacao.EhValido); }
public ActionResult Finalizar(ProjetoGeografico projeto, string url) { if (!_validar.ExisteEmpreendimento(projeto.EmpreendimentoId)) { return(Json(new { @EhValido = Validacao.EhValido, Msg = Validacao.Erros, urlRedirect = Url.Action("Operar", "ProjetoDigital", new { area = "", Id = projeto.ProjetoDigitalId }) })); } if (!projeto.EmpreendimentoEstaDentroAreaAbrangencia) { Validacao.Add(Mensagem.ProjetoGeografico.EmpreendimentoForaAbrangencia); return(Json(new { @EhValido = Validacao.EhValido, Msg = Validacao.Erros })); } //Valida as dependências do projeto geográfico string mensagem = _caracterizacaoValidar.DependenciasAlteradas(projeto.EmpreendimentoId, projeto.CaracterizacaoId, eCaracterizacaoDependenciaTipo.ProjetoGeografico, projeto.Dependencias); if (!String.IsNullOrWhiteSpace(mensagem)) { return(Json(new { @Mensagem = mensagem, Msg = Validacao.Erros })); } ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus(); _bus.Finalizar(projeto, projeto.ProjetoDigitalId, projetoDigitalCredenciadoBus.AlterarCaracterizacao); return(Json(new { EhValido = Validacao.EhValido, Msg = Validacao.Erros, Url = url })); }
public ActionResult VisualizarCredenciado(int projetoDigitalId, int protocoloId = 0) { ProjetoDigitalCredenciadoBus _busProjetoDigitalCredenciado = new ProjetoDigitalCredenciadoBus(); ProjetoDigital projeto = _busProjetoDigitalCredenciado.Obter(projetoDigitalId); BarragemDispensaLicenca caracterizacao = _busCredenciado.ObterPorEmpreendimento(projeto.EmpreendimentoId.GetValueOrDefault(), projetoDigitalId); AtividadeBus atividadeBus = new AtividadeBus(); BarragemDispensaLicencaVM vm = new BarragemDispensaLicencaVM( caracterizacao, atividadeBus.ObterAtividadePorCodigo((int)eAtividadeCodigo.BarragemDeAte1HaLâminaDaguaAte10000M3DeVolumeArmazenado), _listaBus.BarragemDispensaLicencaFinalidadeAtividade, _listaBus.BarragemDispensaLicencaFormacaoRT, _listaBus.BarragemDispensaLicencaBarragemTipo, _listaBus.BarragemDispensaLicencaFase, _listaBus.BarragemDispensaLicencaMongeTipo, _listaBus.BarragemDispensaLicencaVertedouroTipo ); vm.ProtocoloId = protocoloId; vm.ProjetoDigitalId = projeto.Id; vm.RequerimentoId = projeto.RequerimentoId; vm.UrlRetorno = Url.Action("Analisar", "../AnaliseItens", new { protocoloId = protocoloId, requerimentoId = projeto.RequerimentoId }); return(View("Visualizar", vm)); }
public bool Importar(Requerimento requerimento, List <Pessoa> pessoasRelacionadas) { ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus(); ProjetoDigital projeto = projetoDigitalCredenciadoBus.Obter(idRequerimento: requerimento.Id); if (projeto.Situacao != (int)eProjetoDigitalSituacao.AguardandoImportacao) { Validacao.Add(Mensagem.ProjetoDigital.SituacaoImportar); return(false); } if (!_da.ValidarVersaoAtual(requerimento.Id, requerimento.Tid)) { Validacao.Add(Mensagem.ProjetoDigital.DadosDesatualizadoImportacao); return(false); } if (requerimento.Interessado.Id <= 0) { Validacao.Add(Mensagem.ProjetoDigital.InteressadoObrigatorio); return(false); } if (requerimento.Pessoas == null || requerimento.Pessoas.Count <= 0) { Validacao.Add(Mensagem.ProjetoDigital.InteressadoObrigatorio); } foreach (var item in requerimento.Pessoas.Where(x => x.IsFisica)) { if (item.SelecaoTipo == (int)eExecutorTipo.Credenciado && pessoasRelacionadas.Exists(x => x.Fisica.CPF == item.Fisica.CPF)) { var pessoaRel = _busPessoa.Obter(item.Fisica.CPF); if (pessoaRel != null && pessoaRel.Id > 0 && pessoaRel.Fisica.ConjugeCPF != item.Fisica.ConjugeCPF && pessoasRelacionadas.Count(x => x.Fisica.ConjugeCPF == item.Fisica.CPF) > 1) { Validacao.Add(Mensagem.ProjetoDigital.PessoaCredenciadoConflito); break; } } } if (requerimento.SetorId <= 0) { Validacao.Add(Mensagem.Requerimento.SetorObrigatorio); } requerimento.Atividades.ForEach(atividade => { if (atividade.SituacaoId == (int)eAtividadeSituacao.Desativada) { Validacao.Add(Mensagem.ProjetoDigital.AtividadeDesativada(atividade.NomeAtividade)); } }); return(Validacao.EhValido); }
public void Finalizar(Requerimento requerimento) { try { #region Projeto Digital ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus(); ProjetoDigital projetoDigital = projetoDigitalCredenciadoBus.Obter(idRequerimento: requerimento.Id); requerimento.ProjetoDigitalId = projetoDigital.Id; #endregion requerimento = Obter(requerimento.Id); Mensagem msgSucesso; if (IsRequerimentoRegularizacaoFundiaria(requerimento.Atividades.First())) { msgSucesso = Mensagem.ProjetoDigital.AtividadeSemCaracterizacao(requerimento.Atividades.First().NomeAtividade); projetoDigital.Etapa = (int)eProjetoDigitalEtapa.Envio; } else { msgSucesso = Mensagem.Requerimento.FinalizarCredenciado(requerimento.Numero); projetoDigital.Etapa = (int)eProjetoDigitalEtapa.Caracterizacao; } requerimento.SituacaoId = (int)eRequerimentoSituacao.Finalizado; if (_validar.Finalizar(requerimento)) { GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado)) { bancoDeDados.IniciarTransacao(); _da.Editar(requerimento); projetoDigitalCredenciadoBus.Salvar(projetoDigital, bancoDeDados, true); if (Validacao.EhValido) { Validacao.Add(msgSucesso); bancoDeDados.Commit(); } else { bancoDeDados.Rollback(); } } } } catch (Exception exc) { Validacao.AddErro(exc); } }
public bool AssociarEmpreendimento(Requerimento requerimento) { try { Requerimento req = Obter(requerimento.Id); req.Empreendimento = requerimento.Empreendimento; req.SituacaoId = (int)eRequerimentoSituacao.EmAndamento; if (!_validar.AssociarEmpreendimento(req)) { return(Validacao.EhValido); } GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado)) { bancoDeDados.IniciarTransacao(); _da.Editar(req, bancoDeDados); #region Projeto Digital ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus(); ProjetoDigital projetoDigital = projetoDigitalCredenciadoBus.Obter(idRequerimento: requerimento.Id, banco: bancoDeDados); projetoDigital.EmpreendimentoId = req.Empreendimento.Id; projetoDigital.Etapa = (int)eProjetoDigitalEtapa.Requerimento; projetoDigitalCredenciadoBus.Salvar(projetoDigital, bancoDeDados); ProjetoDigitalCredenciadoDa projetoDigitalCredenciadoDa = new ProjetoDigitalCredenciadoDa(); projetoDigitalCredenciadoDa.DesassociarDependencias(projetoDigital, bancoDeDados); #endregion if (!Validacao.EhValido) { bancoDeDados.Rollback(); return(false); } bancoDeDados.Commit(); if (req.Empreendimento.Id > 0) { Validacao.Add(Mensagem.Requerimento.EmpreendimentoSalvar); } return(true); } } catch (Exception exc) { Validacao.AddErro(exc); } return(false); }
public CARSolicitacaoValidar() { _requerimentoValidar = new RequerimentoCredenciadoValidar(); _busCaracterizacao = new CaracterizacaoBus(); _busProjetoGeografico = new ProjetoGeograficoBus(); _busProjetoDigital = new ProjetoDigitalCredenciadoBus(); _busRequerimento = new RequerimentoCredenciadoBus(); _daCarSolicitacao = new CARSolicitacaoDa(); _carSolicitacaoInternoDa = new CARSolicitacaoInternoDa(); }
public ProjetoDigitalBus() { _validar = new ProjetoDigitalValidar(); _da = new RequerimentoDa(); _busPessoa = new Tecnomapas.EtramiteX.Interno.Model.ModuloPessoa.Business.PessoaBus(); _empBus = new EmpreendimentoBus(); _busProjetoDigitalCredenciado = new ProjetoDigitalCredenciadoBus(); _busRequerimentoCredenciado = new RequerimentoCredenciadoBus(); _configSys = new GerenciadorConfiguracao <ConfiguracaoSistema>(new ConfiguracaoSistema()); }
public void SalvarObjetivoPedido(Requerimento requerimento) { try { bool criarRequerimento = requerimento.Id <= 0; if (_validar.ObjetivoPedidoValidar(requerimento)) { GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado)) { bancoDeDados.IniciarTransacao(); requerimento.CredenciadoId = User.FuncionarioId; _da.Salvar(requerimento, bancoDeDados); #region Projeto Digital ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus(); ProjetoDigital projetoDigital = new ProjetoDigital(); if (!criarRequerimento) { projetoDigital = projetoDigitalCredenciadoBus.Obter(idRequerimento: requerimento.Id, banco: bancoDeDados); } projetoDigital.RequerimentoId = requerimento.Id; projetoDigital.Etapa = (int)eProjetoDigitalEtapa.Requerimento; projetoDigitalCredenciadoBus.Salvar(projetoDigital, bancoDeDados, criarRequerimento); ProjetoDigitalCredenciadoDa projetoDigitalCredenciadoDa = new ProjetoDigitalCredenciadoDa(); projetoDigitalCredenciadoDa.DesassociarDependencias(projetoDigital, bancoDeDados); requerimento.ProjetoDigitalId = projetoDigital.Id; #endregion if (!Validacao.EhValido) { bancoDeDados.Rollback(); return; } bancoDeDados.Commit(); } } } catch (Exception exc) { Validacao.AddErro(exc); } }
public CARSolicitacaoBus() { _configSys = new GerenciadorConfiguracao <ConfiguracaoSistema>(new ConfiguracaoSistema()); _da = new CARSolicitacaoDa(); _daInterno = new CARSolicitacaoInternoDa(); _busProjetoDigital = new ProjetoDigitalCredenciadoBus(); _busRequerimento = new RequerimentoCredenciadoBus(); _busAtividade = new AtividadeCredenciadoBus(); _validar = new CARSolicitacaoValidar(); _consultaCredenciado = new ConsultaCredenciado(); }
public ActionResult CopiarDadosInstitucional(int id, int projetoDigitalID, int caracterizacaoTipo) { ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus(); _bus.CopiarDadosInstitucional(id, (eCaracterizacao)caracterizacaoTipo, projetoDigitalID, projetoDigitalCredenciadoBus.AlterarCaracterizacao); return(Json(new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros, @UrlRedirecionar = Url.Action("", "Caracterizacao", new { id = id, projetoDigitalId = projetoDigitalID, Msg = Validacao.QueryParam() }) }, JsonRequestBehavior.AllowGet)); }
public ActionResult FinalizarPasso(int id, int projetoDigitalID) { ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus(); projetoDigitalCredenciadoBus.FinalizarPassoCaracterizacao(id, projetoDigitalID); return(Json(new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros, @UrlRedirecionar = Url.Action("Operar", "ProjetoDigital", Validacao.QueryParamSerializer(new { id = projetoDigitalID, area = "" })) }, JsonRequestBehavior.AllowGet)); }
public ActionResult DesassociarCaracterizacaoProjetoDigital(ProjetoDigital projetoDigital) { ProjetoDigitalCredenciadoBus projetoDigitalBus = new ProjetoDigitalCredenciadoBus(); projetoDigitalBus.DesassociarDependencias(projetoDigital); return(Json(new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros, @UrlRedirecionar = Url.Action("", "Caracterizacao", new { id = projetoDigital.EmpreendimentoId, projetoDigitalId = projetoDigital.Id, Msg = Validacao.QueryParam() }) }, JsonRequestBehavior.AllowGet)); }
public ActionResult VisualizarCredenciado(int projetoDigitalId, int protocoloId = 0) { ProjetoDigitalCredenciadoBus _busProjetoDigitalCredenciado = new ProjetoDigitalCredenciadoBus(); ProjetoDigital projeto = _busProjetoDigitalCredenciado.Obter(projetoDigitalId); Dominialidade caracterizacao = _busCredenciado.ObterPorEmpreendimento(projeto.EmpreendimentoId.GetValueOrDefault(), projetoDigitalId); DominialidadeVM vm = new DominialidadeVM(caracterizacao, ListaCredenciadoBus.BooleanLista, true); vm.ProtocoloId = protocoloId; vm.ProjetoDigitalId = projeto.Id; vm.RequerimentoId = projeto.RequerimentoId; vm.UrlRetorno = Url.Action("Analisar", "../AnaliseItens", new { protocoloId = protocoloId, requerimentoId = projeto.RequerimentoId }); return(View("Visualizar", vm)); }
public ActionResult Visualizar(int id, int empreendimento, int projetoDigitalId, int tipo, bool isCadastrarCaracterizacao = true, bool mostrarModalDependencias = true, bool retornarVisualizar = true) { ProjetoGeograficoVM vm = new ProjetoGeograficoVM(); vm.isCadastrarCaracterizacao = isCadastrarCaracterizacao; ProjetoDigitalCredenciadoBus projetoDigitalBus = new ProjetoDigitalCredenciadoBus(); List <Dependencia> dependenciasPD = projetoDigitalBus.ObterDependencias(projetoDigitalId); Dependencia dependencia = dependenciasPD.SingleOrDefault(x => x.DependenciaCaracterizacao == tipo && x.DependenciaTipo == (int)eCaracterizacaoDependenciaTipo.ProjetoGeografico) ?? new Dependencia(); vm.Projeto = _bus.ObterHistorico(dependencia.DependenciaId, dependencia.DependenciaTid); vm.IsVisualizar = true; vm.Desenhador.IsVisualizar = true; vm.Sobreposicoes.MostrarVerificar = false; vm.BaseReferencia.IsVisualizar = true; vm.Importador.IsVisualizar = true; vm.IsProcessado = _bus.IsProcessado(vm.Projeto.Id, (eCaracterizacao)tipo); Boolean podeCriarEditar = new PermissaoValidar().ValidarAny(new[] { ePermissao.ProjetoGeograficoCriar, ePermissao.ProjetoGeograficoEditar }, false); if (!String.IsNullOrWhiteSpace(vm.TextoMerge) && !podeCriarEditar) { Validacao.Add(Mensagem.ProjetoGeografico.NaoPodeVisualizarComDependenciasAlteradas(vm.Projeto.CaracterizacaoTexto)); return(RedirectToAction("", "Caracterizacao", new { id = empreendimento, projetoDigitalId = projetoDigitalId, Msg = Validacao.QueryParam() })); } Dominialidade dominialidade = null; if (vm.IsFinalizado) { dominialidade = new DominialidadeBus().ObterDadosGeo(empreendimento); } else { dominialidade = new DominialidadeBus().ObterDadosGeoTMP(empreendimento); } vm.PossuiAPPNaoCaracterizada = dominialidade.AreaAPPNaoCaracterizada.MaiorToleranciaM2(); vm.PossuiARLNaoCaracterizada = dominialidade.ARLNaoCaracterizada.MaiorToleranciaM2(); vm.MostrarAvancar = !dependenciasPD.Exists(x => x.DependenciaCaracterizacao == tipo); vm.RetornarVisualizar = retornarVisualizar; //Carregar os dados do projeto geográfico return(Carregar(vm, projetoDigitalId, mostrarModalDependencias, isVisualizar: true)); }
public ActionResult VisualizarCredenciado(int projetoDigitalId, int protocoloId = 0) { ProjetoDigitalCredenciadoBus _busProjetoDigitalCredenciado = new ProjetoDigitalCredenciadoBus(); ProjetoDigital projeto = _busProjetoDigitalCredenciado.Obter(projetoDigitalId); UnidadeProducao caracterizacao = _busCredenciado.ObterPorEmpreendimento(projeto.EmpreendimentoId.GetValueOrDefault(), projetoDigitalId); UnidadeProducaoVM vm = new UnidadeProducaoVM() { IsVisualizar = true }; vm.UnidadeProducao = caracterizacao; vm.UrlRetorno = Url.Action("Analisar", "../AnaliseItens", new { protocoloId = protocoloId, requerimentoId = projeto.RequerimentoId }); return(View("Visualizar", vm)); }
public bool ValidarEditar(Requerimento requerimento) { if (requerimento != null && requerimento.SituacaoId == (int)eRequerimentoSituacao.Protocolado) { Validacao.Add(Mensagem.Requerimento.Protocolado(requerimento.Id)); return(Validacao.EhValido); } ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus(); ProjetoDigital projetoDigital = projetoDigitalCredenciadoBus.Obter(requerimento.ProjetoDigitalId); if (!projetoDigitalCredenciadoBus.SituacoesEditaveis.Exists(x => x == projetoDigital.Situacao)) { Validacao.Add(Mensagem.ProjetoDigital.EditarSituacaoInvalida(projetoDigital.SituacaoTexto)); } return(Validacao.EhValido); }
public void AssociarInteressado(Requerimento requerimento) { try { Requerimento req = Obter(requerimento.Id); req.SituacaoId = (int)eRequerimentoSituacao.EmAndamento; req.Interessado.Id = requerimento.Interessado.Id; if (_validar.InteressadoValidar(req)) { GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado)) { bancoDeDados.IniciarTransacao(); _da.Editar(req, bancoDeDados); #region Projeto Digital ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus(); ProjetoDigital projetoDigital = projetoDigitalCredenciadoBus.Obter(idRequerimento: requerimento.Id, banco: bancoDeDados); projetoDigital.Etapa = (int)eProjetoDigitalEtapa.Requerimento; projetoDigitalCredenciadoBus.Salvar(projetoDigital, bancoDeDados); #endregion if (Validacao.EhValido) { bancoDeDados.Commit(); Validacao.Add(Mensagem.Requerimento.InteressadoSalvar); } else { bancoDeDados.Rollback(); } } } } catch (Exception exc) { Validacao.AddErro(exc); } }
public ActionResult VisualizarCredenciado(int projetoDigitalId, int protocoloId = 0) { ProjetoDigitalCredenciadoBus _busProjetoDigitalCredenciado = new ProjetoDigitalCredenciadoBus(); ProjetoDigital projeto = _busProjetoDigitalCredenciado.Obter(projetoDigitalId); UCBusCred.UnidadeConsolidacaoBus _busCredenciado = new UCBusCred.UnidadeConsolidacaoBus(); UnidadeConsolidacao caracterizacao = _busCredenciado.ObterPorEmpreendimento(projeto.EmpreendimentoId.GetValueOrDefault(), projetoDigitalId); UnidadeConsolidacaoVM vm = new UnidadeConsolidacaoVM(); vm.IsVisualizar = true; vm.UnidadeConsolidacao = caracterizacao; vm.LstUnidadeMedida = ViewModelHelper.CriarSelectList(_bus.ObterListaUnidadeMedida()); vm.ProtocoloId = protocoloId; vm.ProjetoDigitalId = projeto.Id; vm.RequerimentoId = projeto.RequerimentoId; vm.UrlRetorno = Url.Action("Analisar", "../AnaliseItens", new { protocoloId = protocoloId, requerimentoId = projeto.RequerimentoId }); return(View("Visualizar", vm)); }
public void ExcluirResponsaveis(Requerimento requerimento) { try { requerimento = Obter(requerimento.Id); requerimento.SituacaoId = (int)eRequerimentoSituacao.EmAndamento; requerimento.Responsaveis.Clear(); GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado)) { bancoDeDados.IniciarTransacao(); _da.Editar(requerimento, bancoDeDados); #region Projeto Digital ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus(); ProjetoDigital projetoDigital = projetoDigitalCredenciadoBus.Obter(idRequerimento: requerimento.Id, banco: bancoDeDados); projetoDigital.Etapa = (int)eProjetoDigitalEtapa.Requerimento; projetoDigitalCredenciadoBus.Salvar(projetoDigital, bancoDeDados); #endregion if (!Validacao.EhValido) { bancoDeDados.Rollback(); return; } Validacao.Add(Mensagem.Requerimento.SalvarResponsavelTec); bancoDeDados.Commit(); } } catch (Exception exc) { Validacao.AddErro(exc); } }
public ActionResult Editar(Dominialidade caracterizacao) { string textoMerge = _caracterizacaoValidar.DependenciasAlteradas( caracterizacao.EmpreendimentoId, (int)eCaracterizacao.Dominialidade, eCaracterizacaoDependenciaTipo.Caracterizacao, caracterizacao.Dependencias); if (!string.IsNullOrEmpty(textoMerge)) { return(Json(new { @TextoMerge = textoMerge }, JsonRequestBehavior.AllowGet)); } ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus(); _bus.Salvar(caracterizacao, caracterizacao.ProjetoDigitalId, projetoDigitalCredenciadoBus.AlterarCaracterizacao); return(Json(new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros, @UrlRedirecionar = Url.Action("", "Caracterizacao", new { id = caracterizacao.EmpreendimentoId, projetoDigitalId = caracterizacao.ProjetoDigitalId, Msg = Validacao.QueryParam() }) }, JsonRequestBehavior.AllowGet)); }
public ActionResult Editar(int id, int empreendimento, int projetoDigitalId, int tipo, bool isCadastrarCaracterizacao = true, bool mostrarModalDependencias = true) { if (!_validar.Dependencias(empreendimento, projetoDigitalId, tipo)) { return(RedirectToAction("", "Caracterizacao", new { id = empreendimento, projetoDigitalId = projetoDigitalId, Msg = Validacao.QueryParam() })); } ProjetoGeograficoVM vm = new ProjetoGeograficoVM(); vm.Projeto = _bus.ObterProjeto(id) ?? new ProjetoGeografico(); vm.isCadastrarCaracterizacao = isCadastrarCaracterizacao; vm.Projeto.EmpreendimentoId = empreendimento; vm.Projeto.CaracterizacaoId = tipo; vm.IsProcessado = _bus.IsProcessado(vm.Projeto.Id, (eCaracterizacao)tipo); Dominialidade dominialidade = null; if (vm.IsFinalizado) { dominialidade = new DominialidadeBus().ObterDadosGeo(empreendimento); } else { dominialidade = new DominialidadeBus().ObterDadosGeoTMP(empreendimento); } vm.PossuiAPPNaoCaracterizada = dominialidade.AreaAPPNaoCaracterizada.MaiorToleranciaM2(); vm.PossuiARLNaoCaracterizada = dominialidade.ARLNaoCaracterizada.MaiorToleranciaM2(); ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus(); vm.MostrarAvancar = !projetoDigitalCredenciadoBus.ObterDependencias(projetoDigitalId).Exists(x => x.DependenciaCaracterizacao == tipo); //Carregar os dados do projeto geográfico return(Carregar(vm, projetoDigitalId, mostrarModalDependencias)); }
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 ActionResult Index(int id, int projetoDigitalId, bool visualizar = false) { ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus(); if (id == 0) { if (!visualizar) { ProjetoDigital projetoDigital = projetoDigitalCredenciadoBus.AlterarEtapa(projetoDigitalId, eProjetoDigitalEtapa.Envio); } return(RedirectToAction("Operar", "ProjetoDigital", Validacao.QueryParamSerializer(new { id = projetoDigitalId, area = "" }))); } EmpreendimentoCaracterizacao empreendimento = _bus.ObterEmpreendimentoSimplificado(id); CaracterizacaoVM vm = new CaracterizacaoVM(empreendimento); if (empreendimento.InternoID > 0) { Empreendimento empreendimentoInterno = new EmpreendimentoInternoBus().ObterSimplificado(empreendimento.InternoID); if (empreendimento.InternoTID != empreendimentoInterno.Tid) { vm.MensagensNotificacoes.Add(Mensagem.Caracterizacao.EmpreendimentoDesatualizado(empreendimentoInterno.Denominador).Texto); } } if (empreendimento.Id == 0) { Validacao.Add(Mensagem.Caracterizacao.EmpreendimentoNaoEncontrado); return(RedirectToAction("Operar", "ProjetoDigital", Validacao.QueryParamSerializer(new { id = projetoDigitalId, area = "" }))); } vm.ProjetoDigitalId = projetoDigitalId; vm.IsVisualizar = visualizar; List <CaracterizacaoLst> caracterizacoes = _bus.ObterCaracterizacoesPorProjetoDigital(projetoDigitalId); if (caracterizacoes.All(carac => carac.Permissao == ePermissaoTipo.NaoPermitido)) { Validacao.Add(Mensagem.Caracterizacao.UsuarioNaoPermitidoParaCaracterizacao); } caracterizacoes.RemoveAll(caract => caract.Permissao == ePermissaoTipo.NaoPermitido); #region Projeto Digital if (caracterizacoes == null || caracterizacoes.Count <= 0) { ProjetoDigital projetoDigital = projetoDigitalCredenciadoBus.AlterarEtapa(projetoDigitalId, eProjetoDigitalEtapa.Envio); return(RedirectToAction("Operar", "ProjetoDigital", Validacao.QueryParamSerializer(new { id = projetoDigitalId, area = "" }))); } ProjetoDigitalCredenciadoValidar projetoDigitalCredenciadoValidar = new ProjetoDigitalCredenciadoValidar(); if (!projetoDigitalCredenciadoValidar.PossuiCaracterizacaoAtividade(caracterizacoes, projetoDigitalId)) { if (!visualizar) { ProjetoDigital projetoDigital = projetoDigitalCredenciadoBus.AlterarEtapa(projetoDigitalId, eProjetoDigitalEtapa.Envio); } return(RedirectToAction("Operar", "ProjetoDigital", Validacao.QueryParamSerializer(new { id = projetoDigitalId, area = "" }))); } else { vm.MostrarFinalizar = (projetoDigitalCredenciadoBus.Obter(projetoDigitalId).Etapa == (int)eProjetoDigitalEtapa.Caracterizacao) && !visualizar; } #endregion List <Caracterizacao> caracterizacoesAssociadas = _bus.ObterCaracterizacoesAssociadasProjetoDigital(projetoDigitalId); List <Caracterizacao> cadastradas = _bus.ObterCaracterizacoesEmpreendimento(id, projetoDigitalId) ?? new List <Caracterizacao>(); List <Caracterizacao> cadastradasInterno = _internoBus.ObterCaracterizacoesAtuais(empreendimento.InternoID, caracterizacoes); if (cadastradas != null && cadastradas.Count > 0) { List <int> desatualizadas = new List <int>(); string msgDesatualizadas = _validar.CaracterizacoesCadastradasDesatualizadas(empreendimento.Id, cadastradas, cadastradasInterno, out desatualizadas); if (!string.IsNullOrEmpty(msgDesatualizadas)) { vm.MensagensNotificacoes.Add(msgDesatualizadas); } vm.CaracterizacoesPossivelCopiar = _bus.ObterPossivelCopiar(cadastradas); vm.CaracterizacoesPossivelCopiar.AddRange(desatualizadas.Where(x => !vm.CaracterizacoesPossivelCopiar.Exists(y => y == x))); } vm.CaracterizacoesNaoCadastradas = caracterizacoes .Where(x => !cadastradas.Any(y => y.Id > 0 && (int)y.Tipo == x.Id)) .Select(z => new CaracterizacaoVME() { Tipo = (eCaracterizacao)z.Id, Nome = z.Texto }).ToList(); vm.CaracterizacoesCadastradas = caracterizacoes .Where(x => cadastradas.Where(y => !caracterizacoesAssociadas.Exists(z => z.Tipo == y.Tipo)).Any(y => y.Id > 0 && (int)y.Tipo == x.Id)) .Select(z => new CaracterizacaoVME() { Tipo = (eCaracterizacao)z.Id, Nome = z.Texto }).ToList(); vm.CaracterizacoesAssociadas = caracterizacoesAssociadas .Select(z => new CaracterizacaoVME() { Tipo = (eCaracterizacao)z.Tipo, Nome = z.Nome }).ToList(); List <DependenciaLst> dependencias = _bus.CaracterizacaoConfig.Obter <List <DependenciaLst> >(ConfiguracaoCaracterizacao.KeyCaracterizacoesDependencias); #region Não Cadastradas vm.CaracterizacoesNaoCadastradas.ForEach(x => { ICaracterizacaoBus caracterizacaoBus = CaracterizacaoBusFactory.Criar(x.Tipo); if (caracterizacaoBus != null) { x.PodeCopiar = cadastradasInterno.Exists(y => y.Tipo == x.Tipo) && caracterizacaoBus.PodeCopiar(empreendimento.InternoID); } x.PodeCadastrar = User.IsInRole(String.Format("{0}Criar", x.Tipo.ToString())); x.ProjetoGeografico = User.IsInRole("ProjetoGeograficoCriar"); x.ProjetoGeoObrigatorio = dependencias.Exists(y => y.DependenteTipo == (int)x.Tipo && y.DependenciaTipo == (int)x.Tipo && y.TipoId == (int)eCaracterizacaoDependenciaTipo.ProjetoGeografico); x.ProjetoGeograficoId = (cadastradas.FirstOrDefault(y => y.Tipo == x.Tipo) ?? new Caracterizacao()).ProjetoRascunhoId; if (x.ProjetoGeograficoId <= 0) { x.ProjetoGeograficoId = (cadastradas.SingleOrDefault(y => y.Tipo == x.Tipo) ?? new Caracterizacao()).ProjetoId; } x.UrlCriar = Url.Action("Criar", x.Tipo.ToString()); }); #endregion #region Cadastradas vm.CaracterizacoesCadastradas.ForEach(x => { if (User.IsInRole("ProjetoGeograficoEditar") || User.IsInRole("ProjetoGeograficoVisualizar")) { x.ProjetoGeografico = true; } x.ProjetoGeograficoVisualizar = visualizar; x.PodeEditar = User.IsInRole(String.Format("{0}Editar", x.Tipo.ToString())); x.PodeVisualizar = User.IsInRole(String.Format("{0}Visualizar", x.Tipo.ToString())); x.PodeExcluir = (User.IsInRole(String.Format("{0}Excluir", x.Tipo.ToString())) && (x.Tipo == eCaracterizacao.UnidadeConsolidacao || x.Tipo == eCaracterizacao.UnidadeProducao)); x.PodeCopiar = cadastradasInterno.Exists(y => y.Tipo == x.Tipo); x.PodeAssociar = !caracterizacoesAssociadas.Exists(y => y.Tipo == x.Tipo); x.ProjetoGeograficoId = cadastradas.SingleOrDefault(y => y.Tipo == x.Tipo).ProjetoId; x.UrlEditar = Url.Action("Editar", x.Tipo.ToString()); x.UrlVisualizar = Url.Action("Visualizar", x.Tipo.ToString()); x.UrlExcluirConfirm = Url.Action("ExcluirConfirm", x.Tipo.ToString()); x.UrlExcluir = Url.Action("Excluir", x.Tipo.ToString()); }); #endregion #region Associadas vm.CaracterizacoesAssociadas.ForEach(x => { if (User.IsInRole("ProjetoGeograficoVisualizar")) { x.ProjetoGeografico = true; x.ProjetoGeograficoVisualizar = true; x.ProjetoGeograficoId = cadastradas.SingleOrDefault(y => y.Tipo == x.Tipo).ProjetoId; } x.PodeVisualizar = User.IsInRole(String.Format("{0}Visualizar", x.Tipo.ToString())); x.UrlVisualizar = Url.Action("Visualizar", x.Tipo.ToString()); }); #endregion return(View("Caracterizacao", vm)); }
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); } }