public JsonResult ObtenerDatosFiltro(Object seleccion)
        {
            String filtro = ((String[])seleccion)[0];

            List <String> valores = FuncionalidadesExtra.ObtenerValores(filtro);

            return(Json(valores));
        }
        public JsonResult RealizarConsulta(Object indicador)
        {
            string indicador_str = ((String[])indicador)[0];

            IConsultable<int> consulta = FuncionalidadesExtra.ObtenerConsultaAgrupada(indicador_str);
            ConsultaIndicadorHelper.SetConsulta(consulta);

            return Json(ConsultaIndicadorHelper.GetConsulta().AplicarConsulta());

        }
        public JsonResult RealizarConsulta(String[] indicadores)
        {
            List <List <KeyValuePair <String, int> > > res_consultas = new List <List <KeyValuePair <String, int> > >();

            foreach (String indicador in indicadores)
            {
                IConsultable <int> consulta = FuncionalidadesExtra.ObtenerConsultaAgrupada(indicador);
                res_consultas.Add(consulta.AplicarConsulta());
            }

            return(Json(res_consultas));
        }
        public ActionResult AnadirFiltro(FormCollection form)
        {
            String nombreFiltro    = form["filtro"];
            String valorFiltro     = form["valorFiltro"];
            String valorFiltroReal = valorFiltro.Replace(" ", "_");

            String filtro = nombreFiltro + " = " + valorFiltro;

            // Maneja cuando el filtro ya existe
            if (!ConsultaDinamicaHelper.GetFiltrosActuales().Contains(filtro))
            {
                IConsultable <int> consulta = FuncionalidadesExtra.ObtenerConsultaFiltrada(
                    nombreFiltro, ConsultaDinamicaHelper.GetConsulta(), valorFiltroReal);

                ConsultaDinamicaHelper.SetConsulta(consulta);

                ConsultaDinamicaHelper.AddFiltro(filtro);
            }

            ViewData["filtros"]       = ConsultaDinamicaHelper.GetFiltros();
            ViewData["filtrosUsados"] = ConsultaDinamicaHelper.GetFiltrosActuales();

            return(View("Index"));
        }