//para la anexgrid public AnexGRIDResponde ListarGrilla(AnexGRID grilla) { try { using (var db = new ModeloDatos()) { grilla.Inicializar(); var query = db.HojaVidaDocenteCRP.Where(x => x.hojavidadocentecrp_id > 0); //obtener los campos y que permita ordenar if (grilla.columna == "hojavidadocentecrp_id") { query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.hojavidadocentecrp_id) : query.OrderBy(x => x.hojavidadocentecrp_id); } if (grilla.columna == "hojavida_id") { query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.hojavida_id) : query.OrderBy(x => x.hojavida_id); } if (grilla.columna == "certificacion") { query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.certificacion) : query.OrderBy(x => x.certificacion); } if (grilla.columna == "institucion") { query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.institucion) : query.OrderBy(x => x.institucion); } if (grilla.columna == "año") { query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.año) : query.OrderBy(x => x.año); } // Filtrar foreach (var f in grilla.filtros) { if (f.columna == "certificacion") { query = query.Where(x => x.certificacion.StartsWith(f.valor)); } } var rango = query.Skip(grilla.pagina) .Take(grilla.limite) .ToList(); var total = query.Count();//cantidad de registros grilla.SetData( from m in rango select new { m.hojavidadocentecrp_id, m.certificacion, }, total ); } } catch (Exception ex) { throw; } return(grilla.responde()); }
//crear metodo listar grilla de anexgrid public AnexGRIDResponde ListarGrilla(AnexGRID grilla) { try { using (var db = new ModeloDatos()) { grilla.Inicializar(); var query = db.Semestre.Where(x => x.semestre_id > 0); //ordenar las columnas a mostrar if (grilla.columna == "semestre_id") { query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.semestre_id) : query.OrderBy(x => x.semestre_id); } if (grilla.columna == "nombre") { query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.nombre) : query.OrderBy(x => x.nombre); } if (grilla.columna == "anio") { query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.anio) : query.OrderBy(x => x.anio); } if (grilla.columna == "fechainicio") { query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.fechainicio) : query.OrderBy(x => x.fechainicio); } if (grilla.columna == "fechafin") { query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.fechafin) : query.OrderBy(x => x.fechafin); } if (grilla.columna == "estado") { query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.estado) : query.OrderBy(x => x.estado); } // Filtrar foreach (var f in grilla.filtros) { if (f.columna == "nombre" && f.valor != "") { query = query.Where(x => x.nombre.Contains(f.valor)); } } var semestre = query.Skip(grilla.pagina) .Take(grilla.limite) .ToList(); var total = query.Count(); grilla.SetData( from s in semestre select new { s.semestre_id, s.nombre, s.anio, s.fechainicio, s.fechafin, s.estado }, total ); } } catch (Exception ex) { throw; } return(grilla.responde()); }