private Silvicultura ObterHistorico(int id, BancoDeDados banco = null, string tid = null, bool simplificado = false) { Silvicultura caracterizacao = new Silvicultura(); int hst = 0; int hstCaracterizacao = 0; using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Silvicultura Comando comando = bancoDeDados.CriarComando(@"select c.id, c.empreendimento_id, c.tid from {0}hst_crt_silvicultura c where c.caracterizacao = :id and c.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 = Convert.ToInt32(reader["id"]); hstCaracterizacao = hst; caracterizacao.Id = id; caracterizacao.EmpreendimentoId = Convert.ToInt32(reader["empreendimento_id"]); caracterizacao.Tid = reader["tid"].ToString(); } reader.Close(); } #endregion if (caracterizacao.Id <= 0 || simplificado) { return(caracterizacao); } #region Silviculturas comando = bancoDeDados.CriarComando(@"select c.id, c.silvicultura_silv_id, c.identificacao, c.area_croqui, c.geometria_id, c.geometria_texto, c.tid from {0}hst_crt_silvicultura_silv c where c.id_hst = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", hst, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { SilviculturaSilvicult silvicultura = null; while (reader.Read()) { hst = Convert.ToInt32(reader["id"]); silvicultura = new SilviculturaSilvicult(); silvicultura.Id = Convert.ToInt32(reader["silvicultura_silv_id"]); silvicultura.Tid = reader["tid"].ToString(); silvicultura.Identificacao = reader["identificacao"].ToString(); silvicultura.AreaCroqui = reader.GetValue <Decimal>("area_croqui"); silvicultura.GeometriaTipo = Convert.ToInt32(reader["geometria_id"]); silvicultura.GeometriaTipoTexto = reader["geometria_texto"].ToString(); #region Culturas Florestais comando = bancoDeDados.CriarComando(@"select c.silvicultura_cult_id id, c.cultura_id, c.cultura_texto, c.area, c.especificar, c.tid from {0}hst_crt_silvicultura_cult c where c.id_hst = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", hst, DbType.Int32); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { CulturaFlorestal cultura = null; while (readerAux.Read()) { cultura = new CulturaFlorestal(); cultura.Id = Convert.ToInt32(readerAux["id"]); cultura.CulturaTipo = Convert.ToInt32(readerAux["cultura_id"]); cultura.CulturaTipoTexto = readerAux["cultura_texto"].ToString(); cultura.Tid = readerAux["tid"].ToString(); if (readerAux["especificar"] != null && !Convert.IsDBNull(readerAux["especificar"])) { cultura.EspecificarTexto = readerAux["especificar"].ToString(); cultura.CulturaTipoTexto = cultura.EspecificarTexto; } silvicultura.Culturas.Add(cultura); } readerAux.Close(); } #endregion caracterizacao.Silviculturas.Add(silvicultura); } reader.Close(); } #endregion #region Áreas comando = bancoDeDados.CriarComando(@"select a.silvicultura_area_id, a.tipo_id, a.tipo_texto, a.valor, a.tid from {0}hst_crt_silvicultura_areas a where a.id_hst = :hst_caracterizacao" , EsquemaBanco); comando.AdicionarParametroEntrada("hst_caracterizacao", hstCaracterizacao, DbType.Int32); using (IDataReader readerAux2 = bancoDeDados.ExecutarReader(comando)) { SilviculturaArea item; while (readerAux2.Read()) { item = new SilviculturaArea(); item.Id = Convert.ToInt32(readerAux2["silvicultura_area_id"]); item.Tid = readerAux2["tid"].ToString(); item.Tipo = Convert.ToInt32(readerAux2["tipo_id"]); item.TipoTexto = readerAux2["tipo_texto"].ToString(); item.Valor = readerAux2.GetValue <Decimal>("valor"); caracterizacao.Areas.Add(item); } readerAux2.Close(); } #endregion } return(caracterizacao); }
internal Silvicultura Obter(int id, BancoDeDados banco = null, bool simplificado = false) { Silvicultura caracterizacao = new Silvicultura(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Silvicultura Comando comando = bancoDeDados.CriarComando(@"select c.empreendimento, c.tid from {0}crt_silvicultura c where c.id = :id", EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { caracterizacao.Id = id; caracterizacao.EmpreendimentoId = Convert.ToInt32(reader["empreendimento"]); caracterizacao.Tid = reader["tid"].ToString(); } reader.Close(); } #endregion if (caracterizacao.Id <= 0 || simplificado) { return(caracterizacao); } #region Silviculturas comando = bancoDeDados.CriarComando(@"select c.id, c.identificacao, lv.id geometria, lv.texto geometria_texto, c.area_croqui, c.tid from {0}crt_silvicultura_silv c, lov_crt_geometria_tipo lv where c.caracterizacao = :id and c.geometria = lv.id order by c.id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { SilviculturaSilvicult silvicultura = null; while (reader.Read()) { silvicultura = new SilviculturaSilvicult(); silvicultura.Id = Convert.ToInt32(reader["id"]); silvicultura.Tid = reader["tid"].ToString(); silvicultura.Identificacao = reader["identificacao"].ToString(); silvicultura.AreaCroqui = reader.GetValue <Decimal>("area_croqui"); silvicultura.GeometriaTipo = Convert.ToInt32(reader["geometria"]); silvicultura.GeometriaTipoTexto = reader["geometria_texto"].ToString(); silvicultura.AreaCroquiHa = silvicultura.AreaCroqui.Convert(eMetrica.M2ToHa); #region Culturas Florestais comando = bancoDeDados.CriarComando(@"select c.id, lc.id cultura, lc.texto cultura_texto, c.area, c.especificar, c.tid from {0}crt_silvicultura_cult c, {0}lov_crt_silvicultura_cult_fl lc where c.cultura = lc.id and c.silvicultura_id = :silvicultura" , EsquemaBanco); comando.AdicionarParametroEntrada("silvicultura", silvicultura.Id, DbType.Int32); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { CulturaFlorestal cultura = null; while (readerAux.Read()) { cultura = new CulturaFlorestal(); cultura.Id = Convert.ToInt32(readerAux["id"]); cultura.Tid = readerAux["tid"].ToString(); cultura.CulturaTipo = Convert.ToInt32(readerAux["cultura"]); cultura.CulturaTipoTexto = readerAux["cultura_texto"].ToString(); cultura.AreaCulturaHa = readerAux.GetValue <Decimal>("area").Convert(eMetrica.M2ToHa); cultura.AreaCulturaTexto = cultura.AreaCulturaHa.ToStringTrunc(4); if (readerAux["especificar"] != null && !Convert.IsDBNull(readerAux["especificar"])) { cultura.EspecificarTexto = readerAux["especificar"].ToString(); cultura.CulturaTipoTexto = cultura.EspecificarTexto; } silvicultura.Culturas.Add(cultura); } readerAux.Close(); } #endregion caracterizacao.Silviculturas.Add(silvicultura); } reader.Close(); } #endregion #region Áreas comando = bancoDeDados.CriarComando(@"select a.id, a.tipo, la.texto tipo_texto, a.valor, a.tid from {0}crt_silvicultura_areas a, {0}lov_crt_silvicultura_area la where a.tipo = la.id and a.caracterizacao = :caracterizacao" , EsquemaBanco); comando.AdicionarParametroEntrada("caracterizacao", caracterizacao.Id, DbType.Int32); using (IDataReader readerAux2 = bancoDeDados.ExecutarReader(comando)) { SilviculturaArea item; while (readerAux2.Read()) { item = new SilviculturaArea(); item.Id = Convert.ToInt32(readerAux2["id"]); item.Tid = readerAux2["tid"].ToString(); item.Tipo = Convert.ToInt32(readerAux2["tipo"]); item.TipoTexto = readerAux2["tipo_texto"].ToString(); item.Valor = readerAux2.GetValue <Decimal>("valor"); caracterizacao.Areas.Add(item); } readerAux2.Close(); } #endregion } return(caracterizacao); }