Beispiel #1
0
        //para la anexgrid
        public AnexGRIDResponde ListarGrilla(AnexGRID grilla)
        {
            try
            {
                using (var db = new ModeloDatos())
                {
                    grilla.Inicializar();
                    var query = db.HojaVidaDocenteFC.Where(x => x.hojavidadocentefc_id > 0);
                    //obtener los campos y que permita ordenar
                    if (grilla.columna == "hojavidadocentefc_id")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.hojavidadocentefc_id)
                                                    : query.OrderBy(x => x.hojavidadocentefc_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 == "institucion")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.institucion)
                                                    : query.OrderBy(x => x.institucion);
                    }
                    if (grilla.columna == "tiempo_duracion")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.tiempo_duracion)
                                                    : query.OrderBy(x => x.tiempo_duracion);
                    }
                    if (grilla.columna == "duracion")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.duracion)
                                                    : query.OrderBy(x => x.duracion);
                    }
                    if (grilla.columna == "curso")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.curso)
                                                    : query.OrderBy(x => x.curso);
                    }

                    // Filtrar
                    foreach (var f in grilla.filtros)
                    {
                        if (f.columna == "institucion")
                        {
                            query = query.Where(x => x.institucion.StartsWith(f.valor));
                        }
                        if (f.columna == "tiempo_duracion")
                        {
                            query = query.Where(x => x.tiempo_duracion.StartsWith(f.valor));
                        }
                    }

                    var cargo = query.Skip(grilla.pagina)
                                .Take(grilla.limite)
                                .ToList();
                    var total = query.Count();//cantidad de registros

                    grilla.SetData(
                        from m in cargo
                        select new
                    {
                        m.hojavidadocentefc_id,
                        m.hojavida_id,
                        m.institucion,
                        m.tiempo_duracion,
                        m.duracion,
                        m.curso,
                    },
                        total
                        );
                }
            }
            catch (Exception ex)
            {
                throw;
            }
            return(grilla.responde());
        }
Beispiel #2
0
        //
        public AnexGRIDResponde ListarGrilla(AnexGRID grilla)
        {
            try
            {
                using (var db = new ModeloDatos())
                {
                    grilla.Inicializar();

                    var query = db.TipoDocumento.Include("TipoPersona").Where(x => x.tipodocumento_id > 0);

                    if (grilla.columna == "codigo")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.tipodocumento_id)
                                                               : query.OrderBy(x => x.tipodocumento_id);
                    }

                    if (grilla.columna == "persona")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.tipopersona_id)
                                                               : query.OrderBy(x => x.tipopersona_id);
                    }

                    if (grilla.columna == "nombre")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.nombre)
                                                               : query.OrderBy(x => x.nombre);
                    }

                    if (grilla.columna == "extension")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.extension)
                                                               : query.OrderBy(x => x.extension);
                    }

                    // Filtrar
                    foreach (var f in grilla.filtros)
                    {
                        if (f.columna == "nombre" && f.valor != "")
                        {
                            query = query.Where(x => x.nombre.Contains(f.valor));
                        }
                    }


                    var tipodocumento = query.Skip(grilla.pagina)
                                        .Take(grilla.limite)
                                        .ToList();

                    var total = query.Count();

                    grilla.SetData(from s in tipodocumento
                                   select new
                    {
                        codigo  = s.tipodocumento_id,
                        persona = s.TipoPersona.nombre,
                        s.nombre,
                        s.extension,
                    }, total);
                }
            }
            catch (Exception e)
            {
                throw;
            }

            return(grilla.responde());
        }
Beispiel #3
0
        //para la anexgrid
        public AnexGRIDResponde ListarGrilla(AnexGRID grilla)
        {
            try
            {
                using (var db = new ModeloDatos())
                {
                    grilla.Inicializar();
                    var query = db.Usuario.Include("Persona").Include("TipoUsuario1").Where(x => x.persona_id > 0).Where(x => x.tipousuario > 0);

                    //ordenar las columnas a mostrar

                    if (grilla.columna == "usuario_id")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.usuario_id)
                                                                : query.OrderBy(x => x.usuario_id);
                    }
                    if (grilla.columna == "persona_id")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.persona_id)
                                                                : query.OrderBy(x => x.persona_id);
                    }
                    if (grilla.columna == "tipousuario")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.tipousuario)
                                                                : query.OrderBy(x => x.tipousuario);
                    }
                    if (grilla.columna == "nombre")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.nombre)
                                                                : query.OrderBy(x => x.nombre);
                    }
                    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 usuario = query.Skip(grilla.pagina)
                                  .Take(grilla.limite)
                                  .ToList();
                    var total = query.Count();
                    grilla.SetData(
                        from s in usuario
                        select new
                    {
                        s.usuario_id,
                        nombrepersona     = s.Persona.nombre,
                        nombretipousuario = s.TipoUsuario1.nombre,
                        s.nombre,
                        s.estado
                    },
                        total
                        );
                }
            }
            catch (Exception ex)
            {
                throw;
            }
            return(grilla.responde());
        }
Beispiel #4
0
        //
        public AnexGRIDResponde ListarGrilla(AnexGRID grilla)
        {
            try
            {
                using (var db = new ModeloDatos())
                {
                    grilla.Inicializar();

                    var query = db.ConfigEntrega.Include("Unidad").Include(x => x.Unidad.Semestre).Where(x => x.configentrega_id > 0);

                    if (grilla.columna == "codigo")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.configentrega_id)
                                                               : query.OrderBy(x => x.configentrega_id);
                    }

                    if (grilla.columna == "semestre")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.Unidad.Semestre.semestre_id)
                                                               : query.OrderBy(x => x.Unidad.Semestre.semestre_id);
                    }

                    if (grilla.columna == "unidad")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.Unidad.descripcion)
                                                               : query.OrderBy(x => x.Unidad.descripcion);
                    }

                    if (grilla.columna == "nombre")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.nombre)
                                                               : query.OrderBy(x => x.nombre);
                    }

                    // Filtrar
                    foreach (var f in grilla.filtros)
                    {
                        if (f.columna == "nombre" && f.valor != "")
                        {
                            query = query.Where(x => x.nombre.Contains(f.valor));
                        }

                        if (f.columna == "semestre" && f.valor != "")
                        {
                            query = query.Where(x => x.Unidad.Semestre.semestre_id.ToString().Contains(f.valor));
                        }
                    }


                    var configentrega = query.Skip(grilla.pagina)
                                        .Take(grilla.limite)
                                        .ToList();

                    var total = query.Count();

                    grilla.SetData(from s in configentrega
                                   select new
                    {
                        codigo   = s.configentrega_id,
                        semestre = s.Unidad.Semestre.nombre,
                        unidad   = s.Unidad.descripcion,
                        s.nombre,
                    }, total);
                }
            }
            catch (Exception e)
            {
                throw;
            }

            return(grilla.responde());
        }
Beispiel #5
0
        public AnexGRIDResponde ListarGrillaA(AnexGRID grilla)
        {
            try
            {
                using (var db = new ModeloDatos())
                {
                    grilla.Inicializar();
                    var query = db.Persona.Include("TipoPersona").Include("Usuario").Where(x => x.persona_id > 0 && x.TipoPersona.nombre.Equals("Alumno"));
                    //obtener los campos y que permita ordenar
                    if (grilla.columna == "id")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.persona_id)
                                                    : query.OrderBy(x => x.persona_id);
                    }
                    if (grilla.columna == "codigo")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.codigo)
                                                    : query.OrderBy(x => x.codigo);
                    }
                    if (grilla.columna == "nombre")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => (x.nombre + " " + x.apellido))
                                                    : query.OrderBy(x => (x.nombre + " " + x.apellido));
                    }
                    if (grilla.columna == "dni")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.dni)
                                                    : query.OrderBy(x => x.dni);
                    }
                    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")
                        {
                            query = query.Where(x => (x.nombre + " " + x.apellido).Contains(f.valor));
                        }
                    }

                    var cargo = query.Skip(grilla.pagina)
                                .Take(grilla.limite)
                                .ToList();
                    var total = query.Count();//cantidad de registros

                    grilla.SetData(
                        from m in cargo
                        select new
                    {
                        id = m.persona_id,
                        m.codigo,
                        nombre = m.nombre + " " + m.apellido,
                        m.dni,
                        m.estado,
                    },
                        total
                        );
                }
            }
            catch (Exception ex)
            {
                throw;
            }
            return(grilla.responde());
        }
Beispiel #6
0
        //conculta01
        public AnexGRIDResponde ListarGrillac01(AnexGRID grilla)
        {
            try
            {
                using (var db = new ModeloDatos())
                {
                    grilla.Inicializar();
                    var query = db.Persona.Include("TipoPersona").Where(x => x.persona_id > 0);

                    //obtener los campos y que permita ordenar
                    if (grilla.columna == "persona_id")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.persona_id)
                                                    : query.OrderBy(x => x.persona_id);
                    }
                    if (grilla.columna == "tipopersona_id")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.tipopersona_id)
                                                    : query.OrderBy(x => x.tipopersona_id);
                    }

                    if (grilla.columna == "codigo")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.codigo)
                                                    : query.OrderBy(x => x.codigo);
                    }
                    if (grilla.columna == "nombre")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.nombre)
                                                    : query.OrderBy(x => x.nombre);
                    }
                    if (grilla.columna == "apellido")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.apellido)
                                                    : query.OrderBy(x => x.apellido);
                    }

                    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.tipopersona_id.ToString() == f.valor);
                        }
                    }

                    var cargo = query.Skip(grilla.pagina)
                                .Take(grilla.limite)
                                .ToList();
                    var total = query.Count();//cantidad de registros

                    grilla.SetData(
                        from m in cargo
                        select new
                    {
                        m.persona_id,
                        m.TipoPersona.nombre,

                        m.codigo,
                        nombrep = m.nombre + " " + m.apellido,

                        m.estado,
                    },
                        total
                        );
                }
            }
            catch (Exception ex)
            {
                throw;
            }
            return(grilla.responde());
        }
Beispiel #7
0
        //Consulta Cantidad de Hojas de Vida Docente
        public AnexGRIDResponde ListarGrillaCCHVD(AnexGRID grilla, string codigo)
        {
            try
            {
                using (var db = new ModeloDatos())
                {
                    grilla.Inicializar();

                    Persona person = new Persona();
                    person = db.Persona.Where(x => x.codigo.Equals(codigo) || x.dni.Equals(codigo)).SingleOrDefault();

                    HojaVida hojav = new Models.HojaVida();
                    hojav = db.HojaVida.Include("Persona").Where(x => x.persona_id == person.persona_id).SingleOrDefault();

                    var query = (from HojaVidaDocenteCRP in
                                 (from HojaVidaDocenteCRP in db.HojaVidaDocenteCRP
                                  where
                                  HojaVidaDocenteCRP.hojavida_id ==
                                  ((from HojaVidaDocenteCRP0 in db.HojaVidaDocenteCRP
                                    where
                                    HojaVidaDocenteCRP0.hojavida_id == hojav.hojavida_id
                                    select new
                    {
                        HojaVidaDocenteCRP0.hojavida_id
                    }).FirstOrDefault().hojavida_id)
                                  select new
                    {
                        HojaVidaDocenteCRP.hojavida_id,
                        Dummy = "x"
                    })
                                 group HojaVidaDocenteCRP by new { HojaVidaDocenteCRP.Dummy } into g
                                 select new
                    {
                        Column1 = "Certificaciones",
                        total = g.Count(p => p.Dummy != null)
                    }
                                 ).Union
                                    (from HojaVidaDocenteEX in
                                    (from HojaVidaDocenteEX in db.HojaVidaDocenteEX
                                     where
                                     HojaVidaDocenteEX.hojavida_id ==
                                     ((from HojaVidaDocenteEX0 in db.HojaVidaDocenteEX
                                       where
                                       HojaVidaDocenteEX0.hojavida_id == hojav.hojavida_id
                                       select new
                    {
                        HojaVidaDocenteEX0.hojavida_id
                    }).FirstOrDefault().hojavida_id)
                                     select new
                    {
                        HojaVidaDocenteEX.hojavida_id,
                        Dummy = "x"
                    })
                                    group HojaVidaDocenteEX by new { HojaVidaDocenteEX.Dummy } into g
                                    select new
                    {
                        Column1 = "Experiencias",
                        total   = g.Count(p => p.Dummy != null)
                    }
                                    ).Union
                                    (from HojaVidaDocenteFA in
                                    (from HojaVidaDocenteFA in db.HojaVidaDocenteFA
                                     where
                                     HojaVidaDocenteFA.hojavida_id ==
                                     ((from HojaVidaDocenteFA0 in db.HojaVidaDocenteFA
                                       where
                                       HojaVidaDocenteFA0.hojavida_id == hojav.hojavida_id
                                       select new
                    {
                        HojaVidaDocenteFA0.hojavida_id
                    }).FirstOrDefault().hojavida_id)
                                     select new
                    {
                        HojaVidaDocenteFA.hojavida_id,
                        Dummy = "x"
                    })
                                    group HojaVidaDocenteFA by new { HojaVidaDocenteFA.Dummy } into g
                                    select new
                    {
                        Column1 = "Formacion Academica",
                        total   = g.Count(p => p.Dummy != null)
                    }
                                    ).Union
                                    (from HojaVidaDocenteFC in
                                    (from HojaVidaDocenteFC in db.HojaVidaDocenteFC
                                     where
                                     HojaVidaDocenteFC.hojavida_id ==
                                     ((from HojaVidaDocenteFC0 in db.HojaVidaDocenteFC
                                       where
                                       HojaVidaDocenteFC0.hojavida_id == hojav.hojavida_id
                                       select new
                    {
                        HojaVidaDocenteFC0.hojavida_id
                    }).FirstOrDefault().hojavida_id)
                                     select new
                    {
                        HojaVidaDocenteFC.hojavida_id,
                        Dummy = "x"
                    })
                                    group HojaVidaDocenteFC by new { HojaVidaDocenteFC.Dummy } into g
                                    select new
                    {
                        Column1 = "Formacion Continua",
                        total   = g.Count(p => p.Dummy != null)
                    }
                                    );

                    //var query = db.HojaVidaDocenteCRP.Concat(db.HojaVidaDocenteEX).Concat(db.HojaVidaDocenteFA).Concat(db.HojaVidaDocenteFC);

                    //query.GroupBy(info => info.docente)
                    //    .Select(group => new {
                    //        docente = group.Key,
                    //        cantidad = group.Count()
                    //    });

                    //var query = db.Persona.Include("TipoPersona").Include("Usuario").Where(x => x.TipoPersona.nombre.Equals("Docente"));
                    //obtener los campos y que permita ordenar

                    /*
                     * if (grilla.columna == "nombre")
                     * {
                     *  query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => (x.nombre + " " + x.apellido))
                     *                              : query.OrderBy(x => (x.nombre + " " + x.apellido));
                     * }
                     * if (grilla.columna == "cantidad")
                     * {
                     *  query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.dni)
                     *                              : query.OrderBy(x => x.dni);
                     * }
                     */

                    //var cargo = query.Skip(grilla.pagina)
                    //                .Take(grilla.limite)
                    //                .ToList();

                    //var total = query.Count();//cantidad de registros

                    //grilla.SetData(
                    //        query,
                    //        total
                    //    );

                    var hoja = query.ToList();

                    var total = query.Count();

                    grilla.SetData(from s in hoja
                                   select new
                    {
                        descripcion = s.Column1,
                        cantidad    = s.total,
                    }, total);
                }
            }
            catch (Exception ex)
            {
                throw;
            }
            return(grilla.responde());
        }
Beispiel #8
0
        //para la anexgrid
        public AnexGRIDResponde ListarGrilla(AnexGRID grilla)
        {
            try
            {
                using (var db = new ModeloDatos())
                {
                    grilla.Inicializar();
                    var query = db.TipoUsuario.Where(x => x.tipousuario_id > 0);
                    //obtener los campos y que permita ordenar
                    if (grilla.columna == "tipousuario_id")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.tipousuario_id)
                                                    : query.OrderBy(x => x.tipousuario_id);
                    }
                    if (grilla.columna == "nombre")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.nombre)
                                                    : query.OrderBy(x => x.nombre);
                    }
                    if (grilla.columna == "descripcion")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.descripcion)
                                                    : query.OrderBy(x => x.descripcion);
                    }
                    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")
                        {
                            query = query.Where(x => x.nombre.StartsWith(f.valor));
                        }
                        if (f.columna == "estado")
                        {
                            query = query.Where(x => x.estado.StartsWith(f.valor));
                        }
                    }

                    var cargo = query.Skip(grilla.pagina)
                                .Take(grilla.limite)
                                .ToList();
                    var total = query.Count();//cantidad de registros

                    grilla.SetData(
                        from m in cargo
                        select new
                    {
                        m.tipousuario_id,
                        m.nombre,
                        m.descripcion,
                        m.estado
                    },
                        total
                        );
                }
            }
            catch (Exception ex)
            {
                throw;
            }
            return(grilla.responde());
        }
Beispiel #9
0
        public AnexGRIDResponde ListarGrilla(AnexGRID grilla, int id_persona)
        {
            try
            {
                using (var db = new ModeloDatos())
                {
                    grilla.Inicializar();

                    //incluir varias tablas de otras tablas, codigo en la siguiente linea
                    var query = db.Notificacion.Include("Persona").Include("Persona1").Where(x => x.notificacion_id > 0).Where(x => x.Persona1.persona_id == id_persona);

                    if (grilla.columna == "codigo")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.notificacion_id)
                                                               : query.OrderBy(x => x.notificacion_id);
                    }

                    if (grilla.columna == "emisor")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.Persona.persona_id)
                                                               : query.OrderBy(x => x.Persona.persona_id);
                    }

                    if (grilla.columna == "titulo")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.titulo)
                                                               : query.OrderBy(x => x.titulo);
                    }

                    if (grilla.columna == "asunto")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.asunto)
                                                               : query.OrderBy(x => x.asunto);
                    }

                    if (grilla.columna == "fecha")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.fecha_emision)
                                                               : query.OrderBy(x => x.fecha_emision);
                    }

                    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 == "asunto" && f.valor != "")
                        {
                            query = query.Where(x => x.asunto.Contains(f.valor));
                        }
                    }


                    var persona = query.Skip(grilla.pagina)
                                  .Take(grilla.limite)
                                  .ToList();

                    var total = query.Count();

                    grilla.SetData(from s in persona
                                   select new
                    {
                        codigo = s.notificacion_id,
                        emisor = s.Persona.nombre + " " + s.Persona.apellido,
                        titulo = s.titulo,
                        asunto = s.asunto,
                        fecha  = s.fecha_emision,
                        estado = s.estado,
                    }, total);
                }
            }
            catch (Exception e)
            {
                throw;
            }

            return(grilla.responde());
        }
Beispiel #10
0
        public AnexGRIDResponde ListarGrilla(int id, AnexGRID grilla)
        {
            try
            {
                using (var db = new ModeloDatos())
                {
                    grilla.Inicializar();

                    var query = db.Curso.Include("Ciclo").Include("PlanEstudio").Where(x => x.curso_cod != "" || x.curso_cod != null);

                    if (id > 0)
                    {
                        query.Where(x => x.plan_id == id);
                    }

                    if (grilla.columna == "curso_cod")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.curso_cod)
                                                               : query.OrderBy(x => x.curso_cod);
                    }

                    if (grilla.columna == "ciclo_id")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.ciclo_id)
                                                               : query.OrderBy(x => x.ciclo_id);
                    }

                    if (grilla.columna == "nombre")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.nombre)
                                                               : query.OrderBy(x => x.nombre);
                    }

                    if (grilla.columna == "prerequisito")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.prerequisito)
                                                               : query.OrderBy(x => x.prerequisito);
                    }

                    // Filtrar
                    foreach (var f in grilla.filtros)
                    {
                        if (f.columna == "nombre" && f.valor != "")
                        {
                            query = query.Where(x => x.ciclo_id.ToString() == f.valor);
                        }

                        if (f.columna == "nombrecurso")
                        {
                            query = query.Where(x => x.nombre.StartsWith(f.valor));
                        }

                        if (f.columna == "plan_estudio")
                        {
                            var plan_id = Int32.Parse(f.valor);

                            query = query.Where(x => x.plan_id == plan_id);
                        }
                    }


                    var curso = query.Skip(grilla.pagina)
                                .Take(grilla.limite)
                                .ToList();

                    var total = query.Count();

                    grilla.SetData(from s in curso
                                   select new
                    {
                        s.curso_cod,
                        plan_estudio = s.PlanEstudio.nombre,
                        s.Ciclo.nombre,
                        nombrecurso = s.nombre,
                        s.prerequisito
                    }, total);
                }
            }
            catch (Exception e)
            {
                throw;
            }

            return(grilla.responde());
        }
Beispiel #11
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());
        }