private void getPontoEmpreendimentoXY(PontoEmpreendimento ponto) { List <Decimal> ordernadas = new List <decimal>(); using (BancoDeDados bd = BancoDeDados.ObterInstancia()) { string queryStr = "select column_value ordenada from table (select sdo_geom.sdo_mbr(t.geometry).sdo_ordinates from {0}geo_emp_localizacao t where t.empreendimento = :id and rownum =1)"; Comando comando = bd.CriarComando(queryStr, EsquemaBancoGeo); comando.AdicionarParametroEntrada("id", ponto.id, DbType.Int32); using (DbDataReader reader = bd.ExecutarReader(comando)) { while (reader.Read()) { ordernadas.Add(Convert.ToDecimal(reader["ordenada"])); } reader.Close(); } } ponto.x = ordernadas[0]; ponto.y = ordernadas[1]; }
public List <PontoEmpreendimento> listarEmpreendimentos(List <String> empreendimentos) { List <PontoEmpreendimento> listResult = new List <PontoEmpreendimento>(); using (BancoDeDados bd = BancoDeDados.ObterInstancia()) { string queryStr = @"select * from (select e.id, e.denominador," + "(select ls.texto from {0}lov_empreendimento_segmento ls where ls.id = e.segmento) segmento," + "(select lm.texto from {0}tab_empreendimento_endereco ed, lov_municipio lm where ed.empreendimento = e.id and ed.correspondencia = 0 and ed.municipio = lm.id) municipio," + "(select ta.atividade from {0}tab_empreendimento_atividade ta where ta.id = e.atividade) atividade," + "(select stragg(l.numero_completo||' - '||l.interessado_nome_razao) from {0}lst_protocolo l where l.empreendimento_id = e.id) processos " + "from {1}geo_emp_localizacao g, tab_empreendimento e where e.id = g.empreendimento) q WHERE q.id in ("; string ids = ""; int m = empreendimentos.Count; for (int i = 0; i < m; i++) { ids += "," + empreendimentos[i]; } queryStr += ids.Substring(1) + ") ORDER BY q.id ASC"; Comando comando = bd.CriarComando(queryStr, EsquemaBanco, EsquemaBancoGeo); using (DbDataReader reader = bd.ExecutarReader(comando)) { while (reader.Read()) { PontoEmpreendimento result = new PontoEmpreendimento(); result.id = Convert.ToInt32(reader["id"]); result.denominador = Convert.ToString(reader["denominador"]); result.segmento = Convert.ToString(reader["segmento"]); result.municipio = Convert.ToString(reader["municipio"]); result.atividade = Convert.ToString(reader["atividade"]); result.processos = Convert.ToString(reader["processos"]); listResult.Add(result); } reader.Close(); } } foreach (PontoEmpreendimento ponto in listResult) { getPontoEmpreendimentoXY(ponto); } return(listResult); }
public List <PontoEmpreendimento> listarEmpreendimentos(String empreendimento, String pessoa, String processo, String segmento, String municipio, String atividade) { List <PontoEmpreendimento> listResult = new List <PontoEmpreendimento>(); using (BancoDeDados bd = BancoDeDados.ObterInstancia()) { string queryStr = @"select * from (select e.id, e.denominador," + "(select ls.texto from {0}lov_empreendimento_segmento ls where ls.id = e.segmento) segmento," + "(select lm.texto from {0}tab_empreendimento_endereco ed, lov_municipio lm where ed.empreendimento = e.id and ed.correspondencia = 0 and ed.municipio = lm.id) municipio," + "(select ta.atividade from {0}tab_empreendimento_atividade ta where ta.id = e.atividade) atividade," + "(select stragg(l.numero_completo||' - '||l.interessado_nome_razao) from {0}lst_protocolo l where l.empreendimento_id = e.id) processos " + "from {1}geo_emp_localizacao g, tab_empreendimento e where e.id = g.empreendimento) q "; List <string> conditions = new List <string>(); if (empreendimento != "" || segmento != "" || municipio != "" || pessoa != "" || atividade != "" || processo != "") { queryStr += "WHERE "; if (empreendimento != "") { conditions.Add("UPPER(q.denominador) LIKE UPPER('%'||:empreendimento||'%') "); } if (segmento != "") { conditions.Add("q.segmento = :segmento "); } if (atividade != "") { conditions.Add("q.atividade = :atividade "); } if (municipio != "") { conditions.Add("q.municipio = :municipio "); } if (processo != "") { conditions.Add("UPPER(q.processos) LIKE UPPER('%'||:processo||'%') "); } if (pessoa != "") { conditions.Add("UPPER(q.processos) LIKE UPPER('%'||:pessoa||'%') "); } int m = conditions.Count; if (m != 0) { queryStr += conditions[0]; for (int i = 1; i < m; i++) { queryStr += "AND " + conditions[i]; } } } Comando comando = bd.CriarComando(queryStr, EsquemaBanco, EsquemaBancoGeo); if (empreendimento != "") { comando.AdicionarParametroEntrada("empreendimento", empreendimento, DbType.String); } if (segmento != "") { comando.AdicionarParametroEntrada("segmento", segmento, DbType.String); } if (municipio != "") { comando.AdicionarParametroEntrada("municipio", municipio, DbType.String); } if (processo != "") { comando.AdicionarParametroEntrada("processo", processo, DbType.String); } if (atividade != "") { comando.AdicionarParametroEntrada("atividade", atividade, DbType.String); } if (pessoa != "") { comando.AdicionarParametroEntrada("pessoa", pessoa, DbType.String); } using (DbDataReader reader = bd.ExecutarReader(comando)) { while (reader.Read()) { PontoEmpreendimento result = new PontoEmpreendimento(); result.id = Convert.ToInt32(reader["id"]); result.denominador = Convert.ToString(reader["denominador"]); result.segmento = Convert.ToString(reader["segmento"]); result.municipio = Convert.ToString(reader["municipio"]); result.atividade = Convert.ToString(reader["atividade"]); result.processos = Convert.ToString(reader["processos"]); listResult.Add(result); } reader.Close(); } } foreach (PontoEmpreendimento ponto in listResult) { getPontoEmpreendimentoXY(ponto); } return(listResult); }