public AnexGRIDResponde ListarGrilla(AnexGRID grilla)
        {
            try
            {
                using (var db = new ModeloDatos())
                {
                    grilla.Inicializar();

                    var query = db.Categoria.Include("Concurso").Where(x => x.categoria_id > 0 || x.Concurso.ESTADO.Contains("Activo"));

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

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

                    if (grilla.columna == "nombrecat")
                    {
                        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);
                    }

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


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

                    var total = query.Count();

                    grilla.SetData(from s in planestudio
                                   select new
                    {
                        s.categoria_id,
                        concurso  = s.Concurso.nombre,
                        nombrecat = s.nombre,
                        s.descripcion
                    }, total);
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(grilla.responde());
        }
Beispiel #2
0
        //consulta03 front
        public AnexGRIDResponde Consulta03(AnexGRID grilla)
        {
            try
            {
                using (var db = new ModeloDatos())
                {
                    grilla.Inicializar();

                    var query = db.Proyecto.Include("Concurso").Include("Curso").Include("Categoria").Where(x => x.proyecto_id > 0 && x.estado.Contains("Activo") && x.Concurso.ESTADO.Equals("Inactivo"));

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

                    if (grilla.columna == "concurso_id")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.concurso_id)
                                                               : query.OrderBy(x => x.concurso_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 == "categoria_id")
                    {
                        query = grilla.columna_orden == "DESC" ? query.OrderByDescending(x => x.categoria_id)
                                                               : query.OrderBy(x => x.categoria_id);
                    }

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

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

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


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

                    var total = query.Count();

                    grilla.SetData(from s in proyecto
                                   select new
                    {
                        s.proyecto_id,
                        s.Concurso.nombre,
                        nombrecurso     = s.Curso.nombre,
                        nombrecategoria = s.Categoria.nombre,
                        s.nombre_proyecto
                    }, total);
                }
            }
            catch (Exception e)
            {
                throw;
            }

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

                    var query = db.Curso.Include("Ciclo").Where(x => x.curso_cod != "" || x.curso_cod != null).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));
                        }
                    }


                    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,
                        s.Ciclo.nombre,
                        nombrecurso = s.nombre,
                        s.prerequisito
                    }, total);
                }
            }
            catch (Exception e)
            {
                throw;
            }

            return(grilla.responde());
        }