public ActionResult ObterPerimetroPosse(int dominio)
        {
            DominialidadeBus dominialidadeBus = new DominialidadeBus();
            Dominio          aux = dominialidadeBus.ObterDominio(dominio);

            return(Json(new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros, PerimetroPosse = aux.Perimetro.ToStringTrunc(3) }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Editar(int id, int empreendimento, int tipo, bool isCadastrarCaracterizacao = true, bool mostrarModalDependencias = true)
        {
            if (!_validar.Dependencias(empreendimento, tipo))
            {
                return(RedirectToAction("", "Caracterizacao", new { id = empreendimento, Msg = Validacao.QueryParam() }));
            }

            ProjetoGeograficoVM vm = new ProjetoGeograficoVM();

            vm.isCadastrarCaracterizacao = isCadastrarCaracterizacao;
            vm.IsCredenciado             = false;
            vm.UrlVoltar = Url.Action("../Caracterizacao/Index", new { id = empreendimento });

            vm.Projeto = _bus.ObterProjeto(id);

            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();

            //Carregar os dados do projeto geográfico
            return(Carregar(vm, mostrarModalDependencias));
        }
        public ActionResult ObterAreaTotalPosse(int dominio)
        {
            DominialidadeBus dominialidadeBus = new DominialidadeBus();
            Dominio          aux = dominialidadeBus.ObterDominio(dominio);

            return(Json(new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros, AreaTotalPosse = aux.AreaCroqui.ToStringTrunc(2) }, JsonRequestBehavior.AllowGet));
        }
        public object ObterDadosPdf(IEspecificidade especificidade, BancoDeDados banco)
        {
            try
            {
                LaudoVistoriaFundiaria esp = especificidade as LaudoVistoriaFundiaria;
                Laudo laudo = _da.ObterDadosPDF(especificidade.Titulo.Id, banco);

                #region Regularização Fundiaria

                Dominialidade          dominialidade = new DominialidadeBus().ObterPorEmpreendimento(laudo.Empreendimento.Id.GetValueOrDefault());
                RegularizacaoFundiaria regularizacao = new RegularizacaoFundiariaBus().ObterPorEmpreendimento(laudo.Empreendimento.Id.GetValueOrDefault());
                regularizacao.Posses = regularizacao.Posses.Where(x => esp.RegularizacaoDominios.Exists(y => y.DominioId == x.Id)).ToList();

                laudo.RegularizacaoFundiaria = new RegularizacaoFundiariaPDF(regularizacao);

                foreach (var item in laudo.RegularizacaoFundiaria.Posses)
                {
                    item.Dominio = new DominioPDF(dominialidade.Dominios.FirstOrDefault(x => x.Id == item.DominioId));
                }

                #endregion

                return(laudo);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(null);
        }
Example #5
0
        public RegularizacaoFundiariaBus(RegularizacaoFundiariaValidar validar)
        {
            _configCaracterizacao = new GerenciadorConfiguracao <ConfiguracaoCaracterizacao>(new ConfiguracaoCaracterizacao());

            _validar               = validar;
            _da                    = new RegularizacaoFundiariaDa();
            _busCaracterizacao     = new CaracterizacaoBus();
            _busDominialidade      = new DominialidadeBus();
            _caracterizacaoValidar = new CaracterizacaoValidar();
        }
        public ActionResult ValidarAdicionarARL(int reservaLegal, int empreendimento)
        {
            DominialidadeBus             dominialidadeBus = new DominialidadeBus();
            EmpreendimentoCaracterizacao empReservaLegal  = dominialidadeBus.ObterEmpreendimentoReceptor(reservaLegal);

            TermoCPFARLCRValidar validar = new TermoCPFARLCRValidar();

            validar.AdicionarARL(empreendimento, empReservaLegal.Id);

            return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido }));
        }
        public ActionResult VerificarAreaNaoCaracterizada(int empreendimento)
        {
            Dominialidade dominialidade = new DominialidadeBus().ObterDadosGeoTMP(empreendimento);

            return(Json(new
            {
                Msg = Validacao.Erros,
                PossuiAPPNaoCaracterizada = dominialidade.AreaAPPNaoCaracterizada.MaiorToleranciaM2(),
                PossuiARLNaoCaracterizada = dominialidade.ARLNaoCaracterizada.MaiorToleranciaM2()
            }));
        }
        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));
        }
Example #9
0
        public bool AbrirAcessar(CadastroAmbientalRural caracterizacao)
        {
            Dominialidade dominialidade = new DominialidadeBus().ObterDadosGeo(caracterizacao.EmpreendimentoId);

            if (dominialidade.AreaAPPNaoCaracterizada.MaiorToleranciaM2())
            {
                Validacao.Add(Mensagem.Caracterizacao.DominialidadeAreaAPPNaoCaracterizada(CaracterizacaoTipoTexto));
            }

            if (dominialidade.ARLNaoCaracterizada.MaiorToleranciaM2())
            {
                Validacao.Add(Mensagem.Caracterizacao.DominialidadeARLNaoCaracterizada(CaracterizacaoTipoTexto));
            }

            return(Validacao.EhValido);
        }
        public ActionResult Visualizar(int id, int empreendimento, int tipo, bool isCadastrarCaracterizacao = true, bool mostrarModalDependencias = true)
        {
            if (tipo == (int)eCaracterizacao.RegularizacaoFundiaria && !permissaoValidar.ValidarAny(new[] { ePermissao.RegularizacaoFundiariaVisualizar }))
            {
                return(RedirectToAction("", "Caracterizacao", new { id = empreendimento, Msg = Validacao.QueryParam() }));
            }

            ProjetoGeograficoVM vm = new ProjetoGeograficoVM();

            vm.isCadastrarCaracterizacao = isCadastrarCaracterizacao;
            vm.Projeto = _bus.ObterProjeto(id);

            vm.IsVisualizar                  = true;
            vm.Desenhador.IsVisualizar       = true;
            vm.Sobreposicoes.MostarVerificar = false;
            vm.BaseReferencia.IsVisualizar   = true;
            vm.EnviarProjeto.IsVisualizar    = true;
            vm.IsCredenciado                 = false;
            vm.UrlVoltar = Url.Action("../Caracterizacao/Index", new { id = empreendimento });

            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 = vm.Projeto.EmpreendimentoId, 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();

            //Carregar os dados do projeto geográfico
            return(Carregar(vm, mostrarModalDependencias, isVisualizar: true));
        }
        public ActionResult ObterDadosTermoCPFARLCR(EspecificidadeVME especificidade)
        {
            DominialidadeBus dominialidadeBus      = new DominialidadeBus();
            List <Lista>     cedenteDominios       = new DominialidadeBus().ObterDominiosLista(especificidade.EmpreendimentoId);
            List <Lista>     cedenteARLCompensacao = new List <Lista>();

            if (cedenteDominios.Count == 1)
            {
                cedenteARLCompensacao = dominialidadeBus.ObterARLCompensacaoDominio(Convert.ToInt32(cedenteDominios.First().Id));
            }

            return(Json(new
            {
                Msg = Validacao.Erros,
                EhValido = Validacao.EhValido,
                Dominialidade = dominialidadeBus.ObterPorEmpreendimento(especificidade.EmpreendimentoId, true),
                CedenteDominios = cedenteDominios,
                CedenteARLCompensacao = cedenteARLCompensacao,
                CedenteResponsaveisEmpreendimento = new EmpreendimentoBus().ObterResponsaveisComTipo(especificidade.EmpreendimentoId)
            }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult ObterDadosEmpreendimentoReceptor(int reservaLegal)
        {
            DominialidadeBus             dominialidadeBus       = new DominialidadeBus();
            EmpreendimentoCaracterizacao empreendimentoReceptor = dominialidadeBus.ObterEmpreendimentoReceptor(reservaLegal);
            List <Lista> receptorEmpreendimento = new List <Lista>();

            if (empreendimentoReceptor.Id > 0)
            {
                receptorEmpreendimento.Add(new Lista()
                {
                    Id = empreendimentoReceptor.Id.ToString(), Texto = empreendimentoReceptor.Denominador
                });
            }

            return(Json(new
            {
                Msg = Validacao.Erros,
                EhValido = Validacao.EhValido,
                ReceptorEmpreendimento = receptorEmpreendimento,
                ReceptorDominios = dominialidadeBus.ObterDominiosLista(empreendimentoReceptor.Id),
                ReceptorResponsaveisEmpreendimento = new EmpreendimentoBus().ObterResponsaveisComTipo(empreendimentoReceptor.Id)
            }));
        }
        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 TermoCPFARLCR(EspecificidadeVME especificidade)
        {
            TermoCPFARLCRBus           bus = new TermoCPFARLCRBus();
            List <Protocolos>          lstProcessosDocumentos = _busTitulo.ObterProcessosDocumentos(especificidade.ProtocoloId);
            List <AtividadeSolicitada> lstAtividades          = new List <AtividadeSolicitada>();

            Titulo        titulo = new Titulo();
            TituloModelo  modelo = _tituloModeloBus.Obter(especificidade.ModeloId ?? 0);
            TermoCPFARLCR termo  = new TermoCPFARLCR();

            int atividadeSelecionada = 0;

            if (especificidade.TituloId > 0)
            {
                titulo                = _busTitulo.ObterSimplificado(especificidade.TituloId);
                titulo.Atividades     = _busTitulo.ObterAtividades(especificidade.TituloId);
                titulo.Condicionantes = _busTitulo.ObterCondicionantes(especificidade.TituloId);

                if (titulo.Atividades.Count > 0)
                {
                    atividadeSelecionada = titulo.Atividades.First().Id;
                }

                if (titulo.Situacao.Id == (int)eTituloSituacao.Cadastrado)
                {
                    termo = bus.Obter(especificidade.TituloId) as TermoCPFARLCR;
                }
                else
                {
                    //termo = bus.ObterHistorico(especificidade.TituloId, 0) as TermoCPFARLCR;
                    termo = bus.Obter(especificidade.TituloId) as TermoCPFARLCR;
                }

                especificidade.AtividadeProcDocReq = _busTitulo.ObterProcDocReqEspecificidade(especificidade.TituloId);
            }

            if (especificidade.ProtocoloId > 0)
            {
                if (_busEspecificidade.ExisteProcDocFilhoQueFoiDesassociado(especificidade.TituloId))
                {
                    lstAtividades     = new List <AtividadeSolicitada>();
                    titulo.Atividades = new List <Atividade>();
                }
                else
                {
                    lstAtividades = _busAtividade.ObterAtividadesLista(especificidade.AtividadeProcDocReq.ToProtocolo());
                }

                if (!especificidade.IsVisualizar)
                {
                    _busEspecificidade.PossuiAtividadeEmAndamento(especificidade.ProtocoloId);
                }
            }

            if (!Validacao.EhValido)
            {
                return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = string.Empty }, JsonRequestBehavior.AllowGet));
            }

            TermoCPFARLCRVM vm = new TermoCPFARLCRVM(
                lstProcessosDocumentos,
                lstAtividades,
                titulo.Condicionantes,
                termo,
                especificidade.AtividadeProcDocReqKey,
                especificidade.IsVisualizar,
                atividadeSelecionada);

            if (especificidade.TituloId > 0)
            {
                EmpreendimentoBus empreendimentoBus = new EmpreendimentoBus();
                DominialidadeBus  dominialidadeBus  = new DominialidadeBus();
                vm.Atividades.Atividades = titulo.Atividades;

                vm.CedenteDominios = ViewModelHelper.CriarSelectList(dominialidadeBus.ObterDominiosLista(especificidade.EmpreendimentoId), selecionado: termo.CedenteDominioID.ToString());
                vm.CedenteReservas = ViewModelHelper.CriarSelectList(dominialidadeBus.ObterARLCompensacaoDominio(termo.CedenteDominioID));
                vm.CedenteResponsaveisEmpreendimento = ViewModelHelper.CriarSelectList(empreendimentoBus.ObterResponsaveisComTipo(especificidade.EmpreendimentoId));

                vm.ReceptorEmpreendimentos = ViewModelHelper.CriarSelectList(
                    new List <Lista>()
                {
                    new Lista()
                    {
                        Id = termo.ReceptorEmpreendimentoID.ToString(), Texto = termo.ReceptorEmpreendimentoDenominador
                    }
                },
                    selecionado: termo.ReceptorEmpreendimentoID.ToString());
                vm.ReceptorDominios = ViewModelHelper.CriarSelectList(dominialidadeBus.ObterDominiosLista(termo.ReceptorEmpreendimentoID), selecionado: termo.ReceptorDominioID.ToString());
                vm.ReceptorResponsaveisEmpreendimento = ViewModelHelper.CriarSelectList(empreendimentoBus.ObterResponsaveisComTipo(termo.ReceptorEmpreendimentoID));
            }

            vm.IsCondicionantes = modelo.Regra(eRegra.Condicionantes) || (titulo.Condicionantes != null && titulo.Condicionantes.Count > 0);

            string htmlEspecificidade = ViewModelHelper.RenderPartialViewToString(ControllerContext, "~/Areas/Especificidades/Views/Termo/TermoCPFARLCR.ascx", vm);

            return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = htmlEspecificidade }, JsonRequestBehavior.AllowGet));
        }
        internal Termo ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Termo        termo        = new Termo();
            TermoCPFARLC termoCPFARLC = Obter(titulo, banco);

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                Comando comando = null;

                #region Título

                DadosPDF      dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);
                Dominialidade dominialidadeCedente   = new DominialidadeBus().ObterPorEmpreendimento(dados.Empreendimento.Id.GetValueOrDefault());
                Dominialidade dominialidadeReceptora = new DominialidadeBus().ObterPorEmpreendimento(termoCPFARLC.ReceptorEmpreendimentoID);

                termo.Titulo = dados.Titulo;
                termo.Titulo.SetorEndereco = DaEsp.ObterEndSetor(termo.Titulo.SetorId);
                termo.Protocolo            = dados.Protocolo;
                termo.Empreendimento       = dados.Empreendimento;
                termo.Dominialidade        = new DominialidadePDF();

                #endregion

                #region Especificidade

                #region Empreendimento Cedente

                termo.Interessados = new List <PessoaPDF>();
                foreach (var interessado in termoCPFARLC.CedenteResponsaveisEmpreendimento)
                {
                    termo.Interessados.Add(new PessoaPDF()
                    {
                        NomeRazaoSocial = interessado.NomeRazao.Remove(0, interessado.NomeRazao.LastIndexOf('-') + 1).Trim(),
                        TipoTexto       = interessado.TipoTexto
                    });
                }

                #endregion

                #region Empreendimento Receptor

                comando = bancoDeDados.CriarComando(@"
					select e.denominador, e.codigo, tee.logradouro, tee.numero, tee.distrito, lm.texto endMunicipio, d.croqui_area from {0}tab_empreendimento e, {0}tab_empreendimento_endereco tee,
					{0}lov_municipio lm, {0}esp_termo_cpfarlc c, {0}crt_dominialidade d where tee.empreendimento = e.id and lm.id = tee.municipio and e.id = c.emp_receptor 
					and d.empreendimento = c.emp_receptor and c.titulo = :titulo"                    , EsquemaBanco);

                comando.AdicionarParametroEntrada("titulo", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        termo.Empreendimento2.Denominador      = reader.GetValue <string>("denominador");
                        termo.Empreendimento2.Codigo           = reader.GetValue <string>("codigo");
                        termo.Empreendimento2.EndLogradouro    = reader.GetValue <string>("logradouro");
                        termo.Empreendimento2.EndNumero        = reader.GetValue <string>("numero");
                        termo.Empreendimento2.EndDistrito      = reader.GetValue <string>("distrito");
                        termo.Empreendimento2.EndMunicipio     = reader.GetValue <string>("endMunicipio");
                        termo.Empreendimento2.ATPCroquiDecimal = reader.GetValue <decimal>("croqui_area");
                    }

                    reader.Close();
                }

                termo.Interessados2 = new List <PessoaPDF>();
                foreach (var interessado in termoCPFARLC.ReceptorResponsaveisEmpreendimento)
                {
                    termo.Interessados2.Add(new PessoaPDF()
                    {
                        NomeRazaoSocial = interessado.NomeRazao.Remove(0, interessado.NomeRazao.LastIndexOf('-') + 1).Trim(),
                        TipoTexto       = interessado.TipoTexto
                    });
                }

                #endregion

                #region Matricula/Posse

                DominioPDF dominioCedentePDF = new DominioPDF(dominialidadeCedente.Dominios.SingleOrDefault(d => d.Id == termoCPFARLC.CedenteDominioID));
                dominioCedentePDF.TipoCompensacao = "Cedente";
                termo.Dominialidade.Dominios.Add(dominioCedentePDF);

                DominioPDF dominioReceptorPDF = new DominioPDF(dominialidadeReceptora.Dominios.SingleOrDefault(x => x.Id == termoCPFARLC.ReceptorDominioID));
                dominioReceptorPDF.TipoCompensacao = "Receptor";
                termo.Dominialidade.Dominios.Add(dominioReceptorPDF);

                #endregion

                #region ARL

                termo.RLPreservada = new List <AreaReservaLegalPDF>();
                termo.RLFormacao   = new List <AreaReservaLegalPDF>();

                List <ReservaLegal> reservas = dominialidadeCedente.Dominios.SelectMany(x => x.ReservasLegais).Where(x => termoCPFARLC.CedenteARLCompensacao.Select(y => y.Id).Any(y => y == x.Id)).ToList();

                reservas.ForEach(x =>
                {
                    AreaReservaLegalPDF areaARLPdf = new AreaReservaLegalPDF()
                    {
                        Tipo          = x.SituacaoVegetalId.GetValueOrDefault(),
                        AreaCroqui    = x.ARLCroqui.ToStringTrunc(),
                        Identificacao = x.Identificacao,
                        CoordenadaE   = x.Coordenada.EastingUtm.ToString(),
                        CoordenadaN   = x.Coordenada.NorthingUtm.ToString()
                    };

                    if (areaARLPdf.Tipo == (int)eReservaLegalSituacaoVegetal.Preservada)
                    {
                        termo.RLPreservada.Add(areaARLPdf);
                    }
                    else if (areaARLPdf.Tipo == (int)eReservaLegalSituacaoVegetal.EmRecuperacao)
                    {
                        termo.RLFormacao.Add(areaARLPdf);
                    }
                });

                termo.RLTotalPreservada = termo.RLPreservada.Sum(x => Convert.ToDecimal(x.AreaCroqui)).ToStringTrunc();
                termo.RLTotalFormacao   = termo.RLFormacao.Sum(x => Convert.ToDecimal(x.AreaCroqui)).ToStringTrunc();
                termo.Empreendimento2.ARLRecebidaDecimal = termo.Dominialidade.ARLCedente;

                #endregion

                #endregion
            }

            return(termo);
        }
        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);
        }
        internal Outros ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Outros                    outros        = new Outros();
            InformacaoCorteBus        infoCorteBus  = new InformacaoCorteBus();
            InformacaoCorte           infoCorte     = null;
            InformacaoCorteInformacao infoCorteInfo = null;
            int infoCorteInfoId = 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.destinatario, e.informacao_corte from {0}esp_out_informacao_corte e where e.titulo = :titulo ", EsquemaBanco);

                comando.AdicionarParametroEntrada("titulo", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        outros.Destinatario = _daEsp.ObterDadosPessoa(reader.GetValue <int>("destinatario"), outros.Empreendimento.Id, bancoDeDados);
                        infoCorteInfoId     = reader.GetValue <int>("informacao_corte");
                    }

                    reader.Close();
                }

                #endregion

                #region Dominialidade

                DominialidadeBus _dominialidadeBus = new DominialidadeBus();

                outros.Dominialidade = new DominialidadePDF(_dominialidadeBus.ObterPorEmpreendimento(outros.Empreendimento.Id.GetValueOrDefault(), banco: bancoDeDados));

                #endregion

                #region Informação de corte

                infoCorte = infoCorteBus.ObterPorEmpreendimento(outros.Empreendimento.Id.GetValueOrDefault(), banco: bancoDeDados);

                if (infoCorte != null)
                {
                    infoCorteInfo = infoCorte.InformacoesCortes.SingleOrDefault(x => x.Id == infoCorteInfoId);

                    if (infoCorteInfo != null)
                    {
                        outros.InformacaoCorteInfo = new InformacaoCorteInfoPDF(infoCorteInfo);
                    }
                }

                #endregion
            }

            return(outros);
        }