internal DominialidadeRelatorio Obter(int id, BancoDeDados banco = null, bool simplificado = false)
        {
            DominialidadeRelatorio caracterizacao = new DominialidadeRelatorio();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dominialidade

                Comando comando = bancoDeDados.CriarComando(@"select d.tid from {0}crt_dominialidade d where d.id = :id", EsquemaBanco);
                comando.AdicionarParametroEntrada("id", id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        caracterizacao.Id  = id;
                        caracterizacao.Tid = reader.GetValue <string>("tid");
                    }

                    reader.Close();
                }

                #endregion

                if (caracterizacao.Id <= 0 || simplificado)
                {
                    return(caracterizacao);
                }
                #region ATP
                comando = bancoDeDados.CriarComando(@"SELECT (ATP.AREA_M2) ATP FROM CRT_PROJETO_GEO CRP
														  INNER JOIN  IDAFGEO.GEO_ATP   ATP ON ATP.PROJETO = CRP.ID  
														  INNER JOIN CRT_DOMINIALIDADE  CRD ON CRD.EMPREENDIMENTO = CRP.EMPREENDIMENTO
														WHERE CRD.ID  = :id"                                                        , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", id, DbType.Int32);
                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        caracterizacao.ATPCroquiHa = reader.GetValue <Decimal>("ATP").Convert(eMetrica.M2ToHa).ToStringTrunc(4);;
                    }
                }
                #endregion

                #region Áreas

                comando = bancoDeDados.CriarComando(@"select a.id Id, a.tipo Tipo, la.texto TipoTexto, a.valor Valor, a.tid Tid 
				from {0}crt_dominialidade_areas a, {0}lov_crt_dominialidade_area la where a.tipo = la.id and a.dominialidade = :dominialidade"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("dominialidade", id, DbType.Int32);

                caracterizacao.Areas = bancoDeDados.ObterEntityList <DominialidadeAreaRelatorio>(comando);

                #endregion

                #region Domínios

                comando = bancoDeDados.CriarComando(@"select d.id, d.tid, d.tipo, ldt.texto tipo_texto, d.area_croqui, 
				d.area_documento, d.app_croqui, d.numero_ccri, d.area_ccri, d.arl_documento  from {0}crt_dominialidade_dominio d, {0}lov_crt_domin_dominio_tipo ldt 
				where d.tipo = ldt.id and d.dominialidade = :id"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", id, DbType.Int32);
                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    DominioRelatorio dominio = null;

                    while (reader.Read())
                    {
                        dominio               = new DominioRelatorio();
                        dominio.Id            = reader.GetValue <int>("id");
                        dominio.Tid           = reader.GetValue <string>("tid");
                        dominio.Tipo          = reader.GetValue <int>("tipo");
                        dominio.TipoTexto     = reader.GetValue <string>("tipo_texto");
                        dominio.AreaCroqui    = reader.GetValue <decimal>("area_croqui");
                        dominio.AreaDocumento = reader.GetValue <decimal>("area_documento");
                        dominio.APPCroqui     = reader.GetValue <decimal>("app_croqui");
                        dominio.NumeroCCIR    = reader.GetValue <long>("numero_ccri");
                        dominio.AreaCCIR      = reader.GetValue <decimal>("area_ccri");
                        dominio.ARLDocumento  = reader.GetValue <decimal?>("arl_documento");

                        #region Reservas Legais

                        comando = bancoDeDados.CriarComando(@"select r.id, r.tid, r.situacao_vegetal, lrsv.texto situacao_vegetal_texto, r.arl_croqui 
							from {0}crt_dominialidade_reserva r, {0}lov_crt_domin_reserva_sit_veg lrsv where r.situacao_vegetal = lrsv.id(+) and r.dominio = :dominio"                            , EsquemaBanco);

                        comando.AdicionarParametroEntrada("dominio", dominio.Id, DbType.Int32);
                        using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando))
                        {
                            ReservaLegalRelatorio reserva = null;

                            while (readerAux.Read())
                            {
                                reserva     = new ReservaLegalRelatorio();
                                reserva.Id  = readerAux.GetValue <int>("id");
                                reserva.Tid = readerAux.GetValue <string>("tid");
                                reserva.SituacaoVegetalId    = readerAux.GetValue <int>("situacao_vegetal");
                                reserva.SituacaoVegetalTexto = readerAux.GetValue <string>("situacao_vegetal_texto");
                                reserva.ARLCroqui            = readerAux.GetValue <decimal>("arl_croqui");
                                dominio.ReservasLegais.Add(reserva);
                            }

                            readerAux.Close();
                        }

                        #endregion

                        caracterizacao.Dominios.Add(dominio);
                    }

                    reader.Close();
                }

                #endregion
            }

            return(caracterizacao);
        }
Beispiel #2
0
        private DominialidadeRelatorio ObterHistorico(int id, BancoDeDados banco = null, string tid = null, bool simplificado = false)
        {
            DominialidadeRelatorio caracterizacao = new DominialidadeRelatorio();
            int hst = 0;

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dominialidade

                Comando comando = bancoDeDados.CriarComando(@"select d.id,  d.tid from {0}hst_crt_dominialidade d where d.dominialidade_id = :id and d.tid = :tid", EsquemaBanco);

                comando.AdicionarParametroEntrada("id", id, DbType.Int32);
                comando.AdicionarParametroEntrada("tid", DbType.String, 36, tid);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        hst = reader.GetValue <int>("id");

                        caracterizacao.Id  = id;
                        caracterizacao.Tid = reader.GetValue <string>("tid");
                    }

                    reader.Close();
                }

                #endregion

                if (caracterizacao.Id <= 0 || simplificado)
                {
                    return(caracterizacao);
                }

                #region Áreas

                comando = bancoDeDados.CriarComando(@"select a.id Id, a.tipo Tipo, la.texto TipoTexto, a.valor Valor, a.tid Tid
				from {0}crt_dominialidade_areas a, {0}lov_crt_dominialidade_area la where a.tipo = la.id and a.dominialidade = :dominialidade"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("dominialidade", id, DbType.Int32);

                caracterizacao.Areas = bancoDeDados.ObterEntityList <DominialidadeAreaRelatorio>(comando);

                #endregion

                #region Domínios

                comando = bancoDeDados.CriarComando(@"select d.id id_hst, d.dominialidade_dominio_id id, d.tid, d.tipo_id, d.area_croqui,
				d.area_documento, d.app_croqui, d.numero_ccri, d.area_ccri, d.arl_documento from {0}hst_crt_dominialidade_dominio d where d.id_hst = :id"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", hst, DbType.Int32);
                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    DominioRelatorio dominio = null;

                    while (reader.Read())
                    {
                        hst = reader.GetValue <int>("id_hst");

                        dominio               = new DominioRelatorio();
                        dominio.Id            = reader.GetValue <int>("id");
                        dominio.Tid           = reader.GetValue <string>("tid");
                        dominio.Tipo          = reader.GetValue <int>("tipo_id");
                        dominio.AreaCroqui    = reader.GetValue <decimal>("area_croqui");
                        dominio.AreaDocumento = reader.GetValue <decimal>("area_documento");
                        dominio.APPCroqui     = reader.GetValue <decimal>("app_croqui");
                        dominio.NumeroCCIR    = reader.GetValue <long>("numero_ccri");
                        dominio.AreaCCIR      = reader.GetValue <decimal>("area_ccri");
                        dominio.ARLDocumento  = reader.GetValue <decimal>("arl_documento");

                        #region Reservas Legais

                        comando = bancoDeDados.CriarComando(@"select r.dominialidade_reserva_id id, r.tid, r.situacao_vegetal_id, r.situacao_vegetal_texto, r.arl_croqui 
						from {0}hst_crt_dominialidade_reserva r where r.id_hst = :id"                        , EsquemaBanco);

                        comando.AdicionarParametroEntrada("id", hst, DbType.Int32);
                        using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando))
                        {
                            ReservaLegalRelatorio reserva = null;

                            while (readerAux.Read())
                            {
                                reserva                      = new ReservaLegalRelatorio();
                                reserva.Id                   = readerAux.GetValue <int>("id");
                                reserva.Tid                  = readerAux.GetValue <string>("tid");
                                reserva.ARLCroqui            = readerAux.GetValue <decimal>("arl_croqui");
                                reserva.SituacaoVegetalId    = readerAux.GetValue <int>("situacao_vegetal_id");
                                reserva.SituacaoVegetalTexto = readerAux.GetValue <string>("situacao_vegetal_texto");


                                dominio.ReservasLegais.Add(reserva);
                            }

                            readerAux.Close();
                        }

                        #endregion

                        caracterizacao.Dominios.Add(dominio);
                    }

                    reader.Close();
                }

                #endregion
            }

            return(caracterizacao);
        }