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); }
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)); }
internal Outros ObterDadosPDF(int titulo, BancoDeDados banco = null) { Outros outros = new Outros(); int dominioId = 0; using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Dados do Titulo DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados); outros.Titulo = dados.Titulo; outros.Titulo.SetorEndereco = DaEsp.ObterEndSetor(outros.Titulo.SetorId); outros.Protocolo = dados.Protocolo; outros.Empreendimento = dados.Empreendimento; #endregion #region Especificidade Comando comando = bancoDeDados.CriarComando(@" select e.valor_terreno, e.dominio, e.is_inalienabilidade, lm.texto municipio_gleba_texto from {0}esp_out_legitima_terr_devolut e, {0}lov_municipio lm where lm.id(+) = e.municipio_gleba and e.titulo = :titulo " , EsquemaBanco); comando.AdicionarParametroEntrada("titulo", titulo, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { dominioId = reader.GetValue <int>("dominio"); outros.ValorTerreno = reader.GetValue <decimal>("valor_terreno").ToString("N2"); outros.IsInalienabilidade = reader.GetValue <bool>("is_inalienabilidade"); outros.Municipio = reader.GetValue <string>("municipio_gleba_texto"); } reader.Close(); } #endregion #region Destinatarios comando = bancoDeDados.CriarComando(@" select d.destinatario from {0}esp_out_legitima_destinatario d, {0}esp_out_legitima_terr_devolut e where d.especificidade = e.id and e.titulo = :tituloId " , EsquemaBanco); comando.AdicionarParametroEntrada("tituloId", titulo, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { var pessoa = DaEsp.ObterDadosPessoa(reader.GetValue <int>("destinatario"), banco: bancoDeDados); outros.Destinatarios.Add(pessoa); outros.Titulo.AssinanteSource.Add(new AssinanteDefault { Cargo = "Titulado", Nome = pessoa.NomeRazaoSocial }); } reader.Close(); } #endregion #region Dominialidade DominialidadeBus dominialidadeBus = new DominialidadeBus(); outros.Dominialidade = new DominialidadePDF(dominialidadeBus.ObterPorEmpreendimento(outros.Empreendimento.Id.GetValueOrDefault(), banco: bancoDeDados)); #endregion #region Regularizacao Fundiaria RegularizacaoFundiaria regularizacao = new RegularizacaoFundiariaBus().ObterPorEmpreendimento(outros.Empreendimento.Id.GetValueOrDefault()); Posse posse = regularizacao.Posses.SingleOrDefault(x => x.Id.GetValueOrDefault() == dominioId); if (posse != null) { PossePDF possePDF = new PossePDF(posse); outros.RegularizacaoFundiaria.Posses.Add(possePDF); outros.RegularizacaoFundiaria.Posse = possePDF; outros.Dominio = outros.Dominialidade.Dominios.SingleOrDefault(x => x.Id == possePDF.DominioId); } #endregion } return(outros); }
public bool Posse(Posse posse, int empreendimentoId) { if (string.IsNullOrWhiteSpace(posse.Identificacao)) { Validacao.Add(Mensagem.RegularizacaoFundiaria.CampoObrigatorio); } if (posse.AreaCroqui <= 0) { Validacao.Add(Mensagem.RegularizacaoFundiaria.CampoObrigatorio); } if (posse.AreaRequerida <= 0) { Validacao.Add(Mensagem.RegularizacaoFundiaria.AreaRequeridaObrigatoria); } if (posse.RegularizacaoTipo <= 0) { Validacao.Add(Mensagem.RegularizacaoFundiaria.TipoRegularizacaoObrigatorio); } #region Dominios Avulsos if (!posse.PossuiDominioAvulso.HasValue) { Validacao.Add(Mensagem.RegularizacaoFundiaria.PossuiDominioAvulsoObrigatorio); } if (posse.PossuiDominioAvulsoBool) { if (posse.DominiosAvulsos == null || posse.DominiosAvulsos.Count <= 0) { Validacao.Add(Mensagem.RegularizacaoFundiaria.DominioAvulsoObrigatorio); } else { posse.DominiosAvulsos.ForEach(dominio => { DominioAvulso(posse.DominiosAvulsos.Where(x => x != dominio).ToList(), dominio); }); } } #endregion #region Transmitentes if (posse.Transmitentes.Count(x => x.TempoOcupacao <= 0) > 0) { Validacao.Add(Mensagem.RegularizacaoFundiaria.TempoDeOcupacaoObrigatorio); } if (posse.Transmitentes.Count(x => x.Transmitente.Id <= 0) > 0) { Validacao.Add(Mensagem.RegularizacaoFundiaria.TrasmitenteObrigatorio); } if (posse.Transmitentes.Any(x => posse.Transmitentes.Count(y => y.Transmitente.Id == x.Transmitente.Id) > 1)) { Validacao.Add(Mensagem.RegularizacaoFundiaria.TrasmitenteJaAdicionado); } #endregion if (_da.EmpreendimentoZonaAlterada(empreendimentoId, posse.Zona)) { Validacao.Add(Mensagem.Caracterizacao.SegmentoEmpreendimentoAlterado); return(Validacao.EhValido); } #region Zona Rural if (posse.Zona == (int)eZonaLocalizacao.Rural) { if (posse.UsoAtualSolo.Count <= 0) { Validacao.Add(Mensagem.RegularizacaoFundiaria.UsoSoloObrigatorio); } if (posse.UsoAtualSolo.Count(x => x.AreaPorcentagem <= 0) > 0) { Validacao.Add(Mensagem.RegularizacaoFundiaria.UsoSoloTipoObrigatorio); } int porcentagem = posse.UsoAtualSolo.Sum(x => x.AreaPorcentagem); if (porcentagem > 100) { Validacao.Add(Mensagem.RegularizacaoFundiaria.UsoSoloLimitePorcentagem); } if (posse.RelacaoTrabalho <= 0) { Validacao.Add(Mensagem.RegularizacaoFundiaria.RelacaoTrabalhoObrigatorio); } if (string.IsNullOrWhiteSpace(posse.Benfeitorias)) { Validacao.Add(Mensagem.RegularizacaoFundiaria.BenfeitoriasEdificacoesObrigatorio); } } #endregion #region Opções foreach (Opcao opcao in posse.Opcoes) { switch (opcao.TipoEnum) { case eTipoOpcao.TerrenoDevoluto: if (!opcao.Valor.HasValue) { Validacao.Add(Mensagem.RegularizacaoFundiaria.TerrenoDevolutoObrigatorio); break; } if (String.IsNullOrEmpty(opcao.Outro) || opcao.Outro == "0") { if (opcao.Valor == 0) { Validacao.Add(Mensagem.RegularizacaoFundiaria.EspecificarDominialidadeObrigatorio); } else { Validacao.Add(Mensagem.RegularizacaoFundiaria.HomologacaoAprovadaObrigatoria); } } break; case eTipoOpcao.RequerenteResideNaPosse: if (!opcao.Valor.HasValue) { Validacao.Add(Mensagem.RegularizacaoFundiaria.RequerenteResidePosseObrigatorio); } ValidacoesGenericasBus.DataMensagem(new DateTecno() { DataTexto = opcao.Outro }, "DataArquisicao", "aquisição ou ocupação"); break; case eTipoOpcao.ExisteLitigio: if (!opcao.Valor.HasValue) { Validacao.Add(Mensagem.RegularizacaoFundiaria.ExisteLitigioObrigatorio); break; } if (opcao.Valor == 1 && String.IsNullOrEmpty(opcao.Outro)) { Validacao.Add(Mensagem.RegularizacaoFundiaria.NomeLitigioObrigatorio); } break; case eTipoOpcao.SobrepoeSeDivisa: if (!opcao.Valor.HasValue) { Validacao.Add(Mensagem.RegularizacaoFundiaria.SobrepoeFaixaDivisaObrigatorio); break; } if (opcao.Valor == 1 && opcao.Outro == "0") { Validacao.Add(Mensagem.RegularizacaoFundiaria.AQuemPertenceLimiteObrigatorio); } break; case eTipoOpcao.BanhadoPorRioCorrego: if (!opcao.Valor.HasValue) { Validacao.Add(Mensagem.RegularizacaoFundiaria.BanhadoRioCorregoObrigatorio); break; } if (opcao.Valor == 1 && String.IsNullOrEmpty(opcao.Outro)) { Validacao.Add(Mensagem.RegularizacaoFundiaria.NomeRioCorregoObrigatorio); } break; case eTipoOpcao.PossuiNascente: if (!opcao.Valor.HasValue) { Validacao.Add(Mensagem.RegularizacaoFundiaria.PossuiNascenteObrigatorio); } break; case eTipoOpcao.RedeAgua: if (!opcao.Valor.HasValue) { Validacao.Add(Mensagem.RegularizacaoFundiaria.RedeAguaObrigatorio); } break; case eTipoOpcao.RedeEsgoto: if (!opcao.Valor.HasValue) { Validacao.Add(Mensagem.RegularizacaoFundiaria.RedeEsgotoObrigatorio); } break; case eTipoOpcao.LuzEletrica: if (!opcao.Valor.HasValue) { Validacao.Add(Mensagem.RegularizacaoFundiaria.LuzEletricaDomiciliarObrigatorio); } break; case eTipoOpcao.IluminacaoPublica: if (!opcao.Valor.HasValue) { Validacao.Add(Mensagem.RegularizacaoFundiaria.IluminacaoViaPublicaObrigatorio); } break; case eTipoOpcao.RedeTelefonica: if (!opcao.Valor.HasValue) { Validacao.Add(Mensagem.RegularizacaoFundiaria.RedeTelefonicaObrigatorio); } break; case eTipoOpcao.Calcada: if (!opcao.Valor.HasValue) { Validacao.Add(Mensagem.RegularizacaoFundiaria.CalcadaObrigatorio); } break; case eTipoOpcao.Pavimentacao: if (!opcao.Valor.HasValue) { Validacao.Add(Mensagem.RegularizacaoFundiaria.PavimentacaoObrigatorio); break; } if (opcao.Valor == 1 && String.IsNullOrEmpty(opcao.Outro)) { Validacao.Add(Mensagem.RegularizacaoFundiaria.TipoPavimentacaoObrigatorio); } break; } } #endregion return(Validacao.EhValido); }
public PossePDF(Posse posse, List <Dominio> matriculasAnexas = null) { _lstLimite = EntitiesBus.ObterRegularizacaoFundiariaTipoLimite(); _relacoesTrabalho = EntitiesBus.ObterRegularizacaoFundiariaRelacaoTrabalho(); ComprovacaoTexto = posse.ComprovacaoTexto; AreaRequerida = posse.AreaRequerida.ToStringTrunc(); Zona = posse.Zona; AreaCroquiDecimal = posse.AreaCroqui; AreaPerimetroDecimal = posse.Perimetro; Opcoes = posse.Opcoes; Observacoes = posse.Observacoes; BenfeitoriasEdificacoes = posse.Benfeitorias; DominioId = posse.Dominio; Dominio = new DominioPDF(posse.DominioPosse); RelacaoTrabalho = posse.RelacaoTrabalho; #region Lists if (matriculasAnexas != null) { foreach (var item in matriculasAnexas) { Matriculas.Add(new DominioPDF(item)); } foreach (var item in posse.DominiosAvulsos) { Matriculas.Add(new DominioPDF(item)); } } foreach (var item in posse.Transmitentes) { Transmitentes.Add(new TransmitentePDF(item)); } foreach (var item in posse.UsoAtualSolo) { UsosSolo.Add(new UsoAtualSoloPDF(item)); } foreach (var item in posse.Edificacoes) { Edificacoes.Add(new EdificacaoPDF(item)); } #endregion #region Opcoes Opcao opcaoTerrenoDevolutivo = (Opcoes.FirstOrDefault(x => x.TipoEnum == eTipoOpcao.TerrenoDevoluto) ?? new Opcao()); TerrenoDevolutivo = OpcaoResposta(opcaoTerrenoDevolutivo.Valor); if (Convert.ToBoolean(opcaoTerrenoDevolutivo.Valor)) { TerrenoDevolutivoEspecificar = string.Empty; } else { TerrenoDevolutivoEspecificar = opcaoTerrenoDevolutivo.Outro; } RequerenteResideNaPosse = OpcaoResposta((Opcoes.FirstOrDefault(x => x.TipoEnum == eTipoOpcao.RequerenteResideNaPosse) ?? new Opcao()).Valor); RequerenteResideNaPosseDataAquisicao = (Opcoes.FirstOrDefault(x => x.TipoEnum == eTipoOpcao.RequerenteResideNaPosse) ?? new Opcao()).Outro; ExisteLitigio = OpcaoResposta((Opcoes.FirstOrDefault(x => x.TipoEnum == eTipoOpcao.ExisteLitigio) ?? new Opcao()).Valor); ExisteLitigioNome = (Opcoes.FirstOrDefault(x => x.TipoEnum == eTipoOpcao.ExisteLitigio) ?? new Opcao()).Outro; SobrepoeSeDivisa = OpcaoResposta((Opcoes.FirstOrDefault(x => x.TipoEnum == eTipoOpcao.SobrepoeSeDivisa) ?? new Opcao()).Valor); SobrepoeSeDivisaPertenceLimite = (_lstLimite.FirstOrDefault(y => y.Id == (Opcoes.FirstOrDefault(x => x.TipoEnum == eTipoOpcao.SobrepoeSeDivisa) ?? new Opcao()).Outro) ?? new Lista()).Texto; BanhadoPorRioCorrego = OpcaoResposta((Opcoes.FirstOrDefault(x => x.TipoEnum == eTipoOpcao.BanhadoPorRioCorrego) ?? new Opcao()).Valor); BanhadoPorRioCorregoNome = (Opcoes.FirstOrDefault(x => x.TipoEnum == eTipoOpcao.BanhadoPorRioCorrego) ?? new Opcao()).Outro; PossuiNascente = OpcaoResposta((Opcoes.FirstOrDefault(x => x.TipoEnum == eTipoOpcao.PossuiNascente) ?? new Opcao()).Valor); RedeAgua = OpcaoResposta((Opcoes.FirstOrDefault(x => x.TipoEnum == eTipoOpcao.RedeAgua) ?? new Opcao()).Valor); RedeEsgoto = OpcaoResposta((Opcoes.FirstOrDefault(x => x.TipoEnum == eTipoOpcao.RedeEsgoto) ?? new Opcao()).Valor); RedeTelefonica = OpcaoResposta((Opcoes.FirstOrDefault(x => x.TipoEnum == eTipoOpcao.RedeTelefonica) ?? new Opcao()).Valor); LuzEletrica = OpcaoResposta((Opcoes.FirstOrDefault(x => x.TipoEnum == eTipoOpcao.LuzEletrica) ?? new Opcao()).Valor); IluminacaoPublica = OpcaoResposta((Opcoes.FirstOrDefault(x => x.TipoEnum == eTipoOpcao.IluminacaoPublica) ?? new Opcao()).Valor); Calcada = OpcaoResposta((Opcoes.FirstOrDefault(x => x.TipoEnum == eTipoOpcao.Calcada) ?? new Opcao()).Valor); Pavimentacao = OpcaoResposta((Opcoes.FirstOrDefault(x => x.TipoEnum == eTipoOpcao.Pavimentacao) ?? new Opcao()).Valor); PavimentacaoTipo = (Opcoes.FirstOrDefault(x => x.TipoEnum == eTipoOpcao.Pavimentacao) ?? new Opcao()).Outro; #endregion }
public ActionResult ValidarPosse(Posse posse, int empreendimentoId) { _validar.Posse(posse, empreendimentoId); return(Json(new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros }, JsonRequestBehavior.AllowGet)); }