示例#1
0
        public DTO RealizarConsultaDinamica(DTO miDTO)
        {
            List <string> provincias = miDTO.getProvincias();
            List <string> cantones   = miDTO.getCantones();
            List <string> distritos  = miDTO.getDistritos();
            string        anioInicio = miDTO.getAnios()[0];
            string        anioFinal  = miDTO.getAnios()[1];

            List <Indicador> indicadores = new List <Indicador>();

            foreach (KeyValuePair <string, string> entry in miDTO.getIndicadoresUsuario())
            {
                indicadores.Add(new Indicador(entry.Key, entry.Value));
            }

            Localizaciones localizaciones = new Localizaciones(provincias, cantones, distritos);
            QueryDinamica  queryDinamica  = new QueryDinamica(
                provincias,
                cantones,
                distritos,
                int.Parse(anioInicio),
                int.Parse(anioFinal),
                indicadores
                );

            Handler_Mapas miManejador = new Handler_Mapas();

            DTO miCarrito = new DTO(ConstruirURL(miManejador.realizarConsulta(queryDinamica)));

            return(miCarrito);
        }
示例#2
0
        public DataTable correrQueryDinamico(QueryDinamica queryDinamica)
        {
            string query = "";

            if (queryDinamica.indicadores.Count > 0)
            {
                TipoLesion    tipoLesionDecorador = new TipoLesion(queryDinamica, queryDinamica.indicadores);
                Genero        generoDecorador     = new Genero(tipoLesionDecorador, tipoLesionDecorador.indicadores);
                EdadQuincenal edadQuincenal       = new EdadQuincenal(generoDecorador, generoDecorador.indicadores);
                TipoAfectado  tipoAfectado        = new TipoAfectado(edadQuincenal, edadQuincenal.indicadores);

                query = tipoAfectado.construirConsulta();
                query = query.Replace(" AND {4}", "");
            }
            else
            {
                query = queryDinamica.construirConsulta();
                query = query.Replace("{4}", "1 = 1");
            }

            return(RealizarConsulta(query));
        }
        public ColeccionResultado realizarConsulta(QueryDinamica query) //TODO no se si vamos a pasarle el query por un dto o por parametros separados
        {
            DAO_Query dao   = new DAO_Query();
            DataTable datos = procesarResultadosQuery(dao.correrQueryDinamico(query));

            //List<ResultadoDinamica> info = new List<ResultadoDinamica>();

            //--
            ColeccionResultado resultados = new ColeccionResultado();

            //--

            foreach (DataRow row in datos.Rows) // nombre_[provincia|canton|distrito], latitud, longitud, Accidentes
            {
                //--
                resultados.addResultado
                (
                    row["Accidentes"].ToString(),
                    convertirCoordenada(row["latitud"].ToString()),
                    convertirCoordenada(row["longitud"].ToString())
                );
                //--

                /*ResultadoDinamica miResultado = new ResultadoDinamica();
                 * //resultado.setProvincia(row["nombre_provincia"].ToString());
                 * //resultado.setCanton(row["nombre_canton"].ToString());
                 * //resultado.setDistrito(row["nombre_distrito"].ToString());
                 * miResultado.setLatitud(convertirCoordenada(row["latitud"].ToString()));
                 * miResultado.setLongitud(convertirCoordenada(row["longitud"].ToString()));
                 * miResultado.setAccidentes(row["Accidentes"].ToString());
                 *
                 * info.Add(miResultado);*/
            }

            return(resultados);
        }