public List <CoordenadaAtividade> ObterCoordenadaAtividade(int empreendimentoId, eCaracterizacao caracterizacaoTipo, eTipoGeometria tipoGeo)
 {
     return(_da.ObterCoordenadas(empreendimentoId, caracterizacaoTipo, tipoGeo));
 }
        public List <Lista> ObterCoordenadaAtividadeLst(int empreendimentoId, eCaracterizacao caracterizacaoTipo, eTipoGeometria tipoGeo)
        {
            List <Lista> coordenadas = new List <Lista>();

            foreach (CoordenadaAtividade item in _da.ObterCoordenadas(empreendimentoId, caracterizacaoTipo, tipoGeo))
            {
                Lista itemLista = new Lista();
                itemLista.Id      = item.Id.ToString() + "|" + item.CoordX + "|" + item.CoordY;
                itemLista.Texto   = item.CoordenadasAtividade;
                itemLista.IsAtivo = true;
                coordenadas.Add(itemLista);
            }

            return(coordenadas);
        }
        internal List <CoordenadaAtividade> ObterCoordenadas(int empreendimento, eCaracterizacao caracterizacaoTipo, eTipoGeometria tipoGeometria, BancoDeDados banco = null)
        {
            List <CoordenadaAtividade> lstCoordenadas = new List <CoordenadaAtividade>();

            string pref = "p";

            switch (tipoGeometria)
            {
            case eTipoGeometria.Ponto:
                pref = "p";
                break;

            case eTipoGeometria.Linha:
                pref = "l";
                break;

            case eTipoGeometria.Poligono:
                pref = "a";
                break;

            default:
                return(lstCoordenadas);
            }

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                Comando comando = bancoDeDados.CriarComando(@"select a.id, ord.column_value from {1}geo_" + pref + @"ativ a, table(a.geometry.SDO_ORDINATES) ord, {0}crt_projeto_geo g where a.projeto = g.id and g.empreendimento = :empreendimento and g.caracterizacao = :caracterizacao", EsquemaBanco, EsquemaBancoGeo);

                comando.AdicionarParametroEntrada("empreendimento", empreendimento, DbType.Int32);
                comando.AdicionarParametroEntrada("caracterizacao", (int)caracterizacaoTipo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    CoordenadaAtividade coordenada = null;

                    int idx = 0;

                    while (reader.Read())
                    {
                        idx++;

                        if ((idx % 2) != 0)
                        {
                            coordenada        = new CoordenadaAtividade();
                            coordenada.Id     = Convert.ToInt32(reader["id"]);
                            coordenada.Tipo   = (int)tipoGeometria;
                            coordenada.CoordX = Convert.ToDecimal(reader["column_value"]);
                        }
                        else
                        {
                            coordenada.Tipo   = (int)tipoGeometria;
                            coordenada.CoordY = Convert.ToDecimal(reader["column_value"]);
                            lstCoordenadas.Add(coordenada);
                        }
                    }

                    reader.Close();
                }
            }

            return(lstCoordenadas);
        }