コード例 #1
0
        public RegularizacaoFundiariaVM(RegularizacaoFundiaria regularizacao, List <RelacaoTrabalho> relacoesTrabalho, List <Lista> limite,
                                        List <Lista> regularizacaoTipo, List <UsoAtualSoloLst> tipoUso, List <Lista> homologacoes, bool isVisualizar = false)
        {
            Caracterizacao = regularizacao;
            IsVisualizar   = isVisualizar;
            Opcao  opcaoAux = null;
            string homologacaoSelecionada = string.Empty;
            string limiteSelecionado      = string.Empty;

            if (Caracterizacao != null)
            {
                homologacaoSelecionada = MontarRadioCheck(eTipoOpcao.TerrenoDevoluto).Outro;
                opcaoAux = MontarRadioCheck(eTipoOpcao.SobrepoeSeDivisa);

                if (Convert.ToBoolean(opcaoAux.Valor))
                {
                    limiteSelecionado = opcaoAux.Outro;
                }
            }

            RelacoesTrabalho  = relacoesTrabalho;
            Homologacoes      = ViewModelHelper.CriarSelectList(homologacoes, true, selecionado: homologacaoSelecionada);
            TipoLimite        = ViewModelHelper.CriarSelectList(limite, true, selecionado: limiteSelecionado);
            TipoUso           = ViewModelHelper.CriarSelectList(tipoUso, true);
            TipoRegularizacao = ViewModelHelper.CriarSelectList(regularizacaoTipo, true);
        }
コード例 #2
0
 public RegularizacaoFundiariaPDF(RegularizacaoFundiaria regularizacao)
 {
     foreach (Posse posse in regularizacao.Posses)
     {
         Posses.Add(new PossePDF(posse, regularizacao.Matriculas));
     }
 }
コード例 #3
0
        public RegularizacaoFundiaria MergiarGeo(RegularizacaoFundiaria caracterizacaoAtual)
        {
            RegularizacaoFundiaria regularizacaoGeo = ObterDadosGeo(caracterizacaoAtual.EmpreendimentoId);

            caracterizacaoAtual.Dependencias = _busCaracterizacao.ObterDependenciasAtual(caracterizacaoAtual.EmpreendimentoId, eCaracterizacao.RegularizacaoFundiaria, eCaracterizacaoDependenciaTipo.Caracterizacao);

            List <Posse> removerPosse = new List <Posse>();

            foreach (Posse posseAtual in caracterizacaoAtual.Posses)
            {
                if (!regularizacaoGeo.Posses.Exists(x => posseAtual.Identificacao == x.Identificacao))
                {
                    removerPosse.Add(posseAtual);
                }
            }
            caracterizacaoAtual.Posses.RemoveAll(x => removerPosse.Exists(y => y.Identificacao == x.Identificacao));;

            foreach (Posse posse in regularizacaoGeo.Posses)
            {
                if (!caracterizacaoAtual.Posses.Exists(x => x.Identificacao == posse.Identificacao))
                {
                    caracterizacaoAtual.Posses.Add(posse);
                }
                else
                {
                    Posse posseAtual = caracterizacaoAtual.Posses.Single(x => x.Identificacao == posse.Identificacao);
                    posseAtual.ComprovacaoTexto = posse.ComprovacaoTexto;
                    posseAtual.AreaCroqui       = posse.AreaCroqui;
                    posseAtual.Zona             = posse.Zona;
                }
            }

            return(caracterizacaoAtual);
        }
コード例 #4
0
        public RegularizacaoFundiaria ObterPorEmpreendimento(int empreendimento, bool simplificado = false, BancoDeDados banco = null)
        {
            RegularizacaoFundiaria caracterizacao = null;

            try
            {
                caracterizacao = _da.ObterPorEmpreendimento(empreendimento, simplificado, banco);
                caracterizacao.Dependencias = _busCaracterizacao.ObterDependencias(caracterizacao.Id, eCaracterizacao.RegularizacaoFundiaria, eCaracterizacaoDependenciaTipo.Caracterizacao, banco);

                int zona = (int)_busCaracterizacao.ObterEmpreendimentoSimplificado(empreendimento).ZonaLocalizacao;
                caracterizacao.Posses.ForEach(x =>
                {
                    x.Zona = zona;
                });

                caracterizacao.Posses     = caracterizacao.Posses.OrderBy(x => x.Identificacao).ToList();
                caracterizacao.Matriculas = _busDominialidade.ObterPorEmpreendimento(empreendimento).Dominios.Where(x => x.Tipo == eDominioTipo.Matricula).ToList();
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(caracterizacao);
        }
コード例 #5
0
        public ActionResult Visualizar(int id)
        {
            RegularizacaoFundiaria caracterizacao = _bus.ObterPorEmpreendimento(id);
            string textoMerge = _caracterizacaoValidar.DependenciasAlteradas(
                caracterizacao.EmpreendimentoId,
                (int)eCaracterizacao.RegularizacaoFundiaria,
                eCaracterizacaoDependenciaTipo.Caracterizacao,
                caracterizacao.Dependencias, true);

            if (string.IsNullOrEmpty(textoMerge) && _validar.EmpreendimentoZonaAlterada(id))
            {
                textoMerge = Mensagem.Caracterizacao.SegmentoEmpreendimentoAlterado.Texto;
            }

            if (!string.IsNullOrEmpty(textoMerge))
            {
                caracterizacao = _bus.MergiarGeo(caracterizacao);
            }

            if (!_validar.Acessar(caracterizacao, true))
            {
                return(RedirectToAction("", "Caracterizacao", new { id = id, Msg = Validacao.QueryParam() }));
            }

            RegularizacaoFundiariaVM vm = new RegularizacaoFundiariaVM(caracterizacao, true);

            vm.TextoMerge = textoMerge;
            vm.AtualizarDependenciasModalTitulo = Mensagem.Caracterizacao.AtualizarDependenciasModalTitulo.Texto;

            return(View(vm));
        }
コード例 #6
0
        public ActionResult Editar(RegularizacaoFundiaria caracterizacao)
        {
            string textoMerge = _caracterizacaoValidar.DependenciasAlteradas(
                caracterizacao.EmpreendimentoId,
                (int)eCaracterizacao.RegularizacaoFundiaria,
                eCaracterizacaoDependenciaTipo.Caracterizacao,
                caracterizacao.Dependencias);

            if (!string.IsNullOrEmpty(textoMerge))
            {
                return(Json(new { @TextoMerge = textoMerge }, JsonRequestBehavior.AllowGet));
            }

            _bus.Salvar(caracterizacao);

            var msg = Validacao.Erros.Find(x => x.Texto == Mensagem.Caracterizacao.SegmentoEmpreendimentoAlterado.Texto);

            if (msg != null)
            {
                return(Json(new { @TextoMerge = Mensagem.Caracterizacao.SegmentoEmpreendimentoAlterado.Texto }, JsonRequestBehavior.AllowGet));
            }

            return(Json(new
            {
                @EhValido = Validacao.EhValido,
                @Msg = Validacao.Erros,
                @UrlRedirecionar = Url.Action("", "Caracterizacao", new { id = caracterizacao.EmpreendimentoId, Msg = Validacao.QueryParam() })
            }, JsonRequestBehavior.AllowGet));
        }
コード例 #7
0
        public ActionResult VisualizarPosse(int id, int empreendimento, Posse posse, List <Dominio> matriculas)
        {
            RegularizacaoFundiaria caracterizacao = new RegularizacaoFundiaria();

            caracterizacao.Matriculas = matriculas ?? new List <Dominio>();
            caracterizacao.Posse      = posse;

            RegularizacaoFundiariaVM vm = new RegularizacaoFundiariaVM(caracterizacao, _listaBus.RegularizacaoFundiariaRelacaoTrabalho, _listaBus.RegularizacaoFundiariaTipoLimite, _listaBus.RegularizacaoFundiariaTipoRegularizacao, _listaBus.RegularizacaoFundiariaTipoUso, _listaBus.RegularizacaoFundiariaHomologacao, true);

            return(Json(new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros, @Html = ViewModelHelper.RenderPartialViewToString(ControllerContext, "RegularizacaoFundiariaPartial", vm) }, JsonRequestBehavior.AllowGet));
        }
コード例 #8
0
        public bool ValidarProjetoGeo(int empreendimento)
        {
            RegularizacaoFundiariaBus bus            = new RegularizacaoFundiariaBus();
            RegularizacaoFundiaria    caracterizacao = bus.ObterDadosGeo(empreendimento);

            caracterizacao.EmpreendimentoId = empreendimento;
            if (Acessar(caracterizacao))
            {
                return(true);
            }
            return(false);
        }
コード例 #9
0
        public ActionResult GeoMergiar(RegularizacaoFundiaria caracterizacao)
        {
            RegularizacaoFundiariaVM vm = new RegularizacaoFundiariaVM(_bus.MergiarGeo(caracterizacao));

            return(Json(new
            {
                @EhValido = Validacao.EhValido,
                @Msg = Validacao.Erros,
                @Html = ViewModelHelper.RenderPartialViewToString(ControllerContext, "RegularizacaoFundiariaLista", vm),
                @Dependencias = ViewModelHelper.Json(vm.Caracterizacao.Dependencias)
            }, JsonRequestBehavior.AllowGet));
        }
コード例 #10
0
        public bool Salvar(RegularizacaoFundiaria caracterizacao)
        {
            try
            {
                if (_validar.Salvar(caracterizacao))
                {
                    caracterizacao.Posses.ForEach(x =>
                    {
                        x.UsoAtualSolo.ForEach(y =>
                        {
                            if (TiposUsos.Exists(uso => uso.Id == y.TipoDeUso))
                            {
                                y.TipoDeUsoGeo = TiposUsos.First(tiposusos => tiposusos.Id == y.TipoDeUso).TipoGeo;
                            }
                        });
                    });

                    GerenciadorTransacao.ObterIDAtual();

                    using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
                    {
                        bancoDeDados.IniciarTransacao();

                        _da.Salvar(caracterizacao, bancoDeDados);

                        #region Gerencia as dependências da caracterização

                        _busCaracterizacao.Dependencias(new Caracterizacao()
                        {
                            Id             = caracterizacao.Id,
                            Tipo           = eCaracterizacao.RegularizacaoFundiaria,
                            DependenteTipo = eCaracterizacaoDependenciaTipo.Caracterizacao,
                            Dependencias   = caracterizacao.Dependencias
                        }, bancoDeDados);

                        #endregion

                        Validacao.Add(Mensagem.RegularizacaoFundiaria.Salvar);

                        bancoDeDados.Commit();
                    }
                }
            }
            catch (Exception e)
            {
                Validacao.AddErro(e);
            }

            return(Validacao.EhValido);
        }
コード例 #11
0
        public bool Acessar(RegularizacaoFundiaria caracterizacao, bool isVisualizar = false)
        {
            if (!_caracterizacaoValidar.Basicas(caracterizacao.EmpreendimentoId, isVisualizar))
            {
                return(false);
            }

            if (!_caracterizacaoValidar.Dependencias(caracterizacao.EmpreendimentoId, (int)eCaracterizacao.RegularizacaoFundiaria))
            {
                return(false);
            }

            if (caracterizacao.Posses == null || caracterizacao.Posses.Count <= 0)
            {
                Validacao.Add(Mensagem.RegularizacaoFundiaria.PossesObrigatorio);
            }

            return(Validacao.EhValido);
        }
コード例 #12
0
        public ActionResult Editar(int id)
        {
            if (!_caracterizacaoValidar.Basicas(id))
            {
                return(RedirectToAction("Index", "../Empreendimento", Validacao.QueryParamSerializer()));
            }

            RegularizacaoFundiaria caracterizacao = _bus.ObterPorEmpreendimento(id);
            string textoMerge = _caracterizacaoValidar.DependenciasAlteradas(
                caracterizacao.EmpreendimentoId,
                (int)eCaracterizacao.RegularizacaoFundiaria,
                eCaracterizacaoDependenciaTipo.Caracterizacao,
                caracterizacao.Dependencias);

            if (string.IsNullOrEmpty(textoMerge) && _validar.EmpreendimentoZonaAlterada(id))
            {
                textoMerge = Mensagem.Caracterizacao.SegmentoEmpreendimentoAlterado.Texto;
            }

            if (!string.IsNullOrEmpty(textoMerge))
            {
                caracterizacao = _bus.MergiarGeo(caracterizacao);
            }

            if (!_validar.Acessar(caracterizacao))
            {
                return(RedirectToAction("", "Caracterizacao", new { id = id, Msg = Validacao.QueryParam() }));
            }

            RegularizacaoFundiariaVM vm = new RegularizacaoFundiariaVM(
                caracterizacao,
                _listaBus.RegularizacaoFundiariaRelacaoTrabalho,
                _listaBus.RegularizacaoFundiariaTipoLimite,
                _listaBus.RegularizacaoFundiariaTipoRegularizacao,
                _listaBus.RegularizacaoFundiariaTipoUso,
                _listaBus.RegularizacaoFundiariaHomologacao,
                _listaBus.DominialidadeComprovacoes);

            vm.TextoMerge = textoMerge;
            vm.AtualizarDependenciasModalTitulo = Mensagem.Caracterizacao.AtualizarDependenciasModalTitulo.Texto;
            return(View(vm));
        }
コード例 #13
0
        public RegularizacaoFundiaria ObterDadosGeo(int empreendimento, BancoDeDados banco = null)
        {
            RegularizacaoFundiaria caracterizacao = new RegularizacaoFundiaria();

            try
            {
                Dominialidade dominialidade = _busDominialidade.ObterPorEmpreendimento(empreendimento);
                int           zona          = (int)_busCaracterizacao.ObterEmpreendimentoSimplificado(empreendimento).ZonaLocalizacao;

                caracterizacao.Posses     = ObterPosses(empreendimento, zona);
                caracterizacao.Matriculas = dominialidade.Dominios.Where(x => x.Tipo == eDominioTipo.Matricula).ToList();
                return(caracterizacao);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(null);
        }
コード例 #14
0
        public bool Salvar(RegularizacaoFundiaria caracterizacao)
        {
            List <string> regularizacoesInvalidas = new List <string>();

            foreach (Posse posse in caracterizacao.Posses)
            {
                if (!Posse(posse, caracterizacao.EmpreendimentoId))
                {
                    regularizacoesInvalidas.Add(posse.Identificacao);
                }
            }
            Validacao.Erros.Clear();

            if (!Acessar(caracterizacao))
            {
                return(false);
            }

            if (caracterizacao.Id <= 0)
            {
                if ((_da.ObterPorEmpreendimento(caracterizacao.EmpreendimentoId) ?? new RegularizacaoFundiaria()).Id > 0)
                {
                    Validacao.Add(Mensagem.Caracterizacao.EmpreendimentoCaracterizacaoJaCriada);
                    return(false);
                }
            }

            if (regularizacoesInvalidas.Count > 0)
            {
                foreach (var item in regularizacoesInvalidas)
                {
                    Validacao.Add(Mensagem.RegularizacaoFundiaria.RegularizacaoInvalida(item));
                }
            }

            return(Validacao.EhValido);
        }
コード例 #15
0
        public ActionResult Criar(int id)
        {
            if (!_caracterizacaoValidar.Basicas(id))
            {
                return(RedirectToAction("Index", "../Empreendimento", Validacao.QueryParamSerializer()));
            }

            RegularizacaoFundiaria caracterizacao = _bus.ObterDadosGeo(id);

            caracterizacao.EmpreendimentoId = id;

            if (!_validar.Acessar(caracterizacao))
            {
                return(RedirectToAction("", "Caracterizacao", new { id = id, Msg = Validacao.QueryParam() }));
            }

            caracterizacao.Dependencias = _caracterizacaoBus.ObterDependenciasAtual(id, eCaracterizacao.RegularizacaoFundiaria, eCaracterizacaoDependenciaTipo.Caracterizacao);

            RegularizacaoFundiariaVM vm = new RegularizacaoFundiariaVM(caracterizacao);

            vm.AtualizarDependenciasModalTitulo = Mensagem.Caracterizacao.AtualizarDependenciasModalTitulo.Texto;

            return(View(vm));
        }
コード例 #16
0
 public RegularizacaoFundiariaVM(RegularizacaoFundiaria regularizacao, bool isVisualizar = false)
 {
     Caracterizacao = regularizacao;
     IsVisualizar   = isVisualizar;
 }