コード例 #1
0
        //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());
        }
コード例 #2
0
        //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());
        }