Ejemplo n.º 1
0
        public JsonResult Index(ParametroCriteria criteria)
        {
            var pageNumber = criteria.NumeroPagina < 1 ? 1 : criteria.NumeroPagina;
            var pageSize   = _iParametroService.GetValor <int>(CodigosParametros.PARAMETRO_TAMAÑO_PAGINA_GRILLAS);
            var parametros = _iParametroService.GetList()
                             .Where(c => string.IsNullOrWhiteSpace(criteria.Nombre) || c.Nombre.ToLower().Contains(criteria.Nombre.ToLower()));
            var inicio           = (pageNumber - 1) * pageSize;
            var fin              = inicio + pageSize > parametros.Count() ? parametros.Count() - inicio : pageSize;
            var parametrosPagina = parametros.ToList().GetRange(inicio, fin);
            var parametrosVista  = (from x in parametrosPagina
                                    let Opciones = getItems(x.Opciones)
                                                   orderby x.Nombre
                                                   select new { x.Id, x.Nombre, x.Codigo, x.Descripcion, x.Valor, x.TieneOpciones, x.Tipo, x.EsEditable, x.FechaCreacion, Opciones });
            var resultado = new
            {
                Data           = parametrosVista,
                TotalRegistros = parametros.Count()
            };

            return(Json(resultado, JsonRequestBehavior.AllowGet));
        }