コード例 #1
0
        public AnexGRIDResponde Listar(AnexGRID grid, int tipo, int usuario_id)
        {
            try
            {
                using (var ctx = new PortafolioContext())
                {
                    ctx.Configuration.LazyLoadingEnabled = false;
                    grid.Inicializar();
                    var query = ctx.Experiencia.Where(x => x.Tipo == tipo).Where(x => x.Usuario_id == usuario_id);
                    // ordenamineto
                    if (grid.columna == "id")
                    {
                        query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.id) : query.OrderBy(x => x.id);
                    }
                    if (grid.columna == "Nombre")
                    {
                        query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.Nombre) : query.OrderBy(x => x.Nombre);
                    }
                    if (grid.columna == "Titulo")
                    {
                        query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.Titulo) : query.OrderBy(x => x.Titulo);
                    }
                    if (grid.columna == "Desde")
                    {
                        query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.Desde) : query.OrderBy(x => x.Desde);
                    }
                    if (grid.columna == "Hasta")
                    {
                        query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.Hasta) : query.OrderBy(x => x.Hasta);
                    }

                    // id, nombre, titulo, desde, hasta
                    var experiencia = query.Skip(grid.pagina).Take(grid.limite).ToList();
                    var total       = query.Count();
                    grid.SetData(experiencia, total);
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(grid.responde());
        }
コード例 #2
0
        public AnexGRIDResponde Listar(AnexGRID grid, int usuario_id)
        {
            try
            {
                using (var ctx = new PortafolioContext())
                {
                    ctx.Configuration.LazyLoadingEnabled = false;
                    grid.Inicializar();
                    var query = ctx.Testimonio.Where(x => x.Usuario_id == usuario_id);
                    // ordenamineto
                    if (grid.columna == "id")
                    {
                        query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.id) : query.OrderBy(x => x.id);
                    }
                    if (grid.columna == "Nombre")
                    {
                        query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.Nombre) : query.OrderBy(x => x.Nombre);
                    }
                    if (grid.columna == "IP")
                    {
                        query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.IP) : query.OrderBy(x => x.IP);
                    }
                    if (grid.columna == "Fecha")
                    {
                        query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.Fecha) : query.OrderBy(x => x.Fecha);
                    }

                    // id, nombre, titulo, desde, hasta
                    var Habilidad = query.Skip(grid.pagina).Take(grid.limite).ToList();
                    var total     = query.Count();
                    grid.SetData(Habilidad, total);
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(grid.responde());
        }
コード例 #3
0
ファイル: ContenidoLogic.cs プロジェクト: hilda91/Cms
        public AnexGRIDResponde Listar(AnexGRID grid, int idCategoria)
        {
            try
            {
                using (var ctx = new CmsContext())
                {
                    ctx.Configuration.LazyLoadingEnabled = false;

                    grid.Inicializar();


                    var query = ctx.Contenido.Include("Usuario")
                                .Where(x => x.idEmpresa == idEmpresa && x.idCategoria == idCategoria);


                    // Ordenamiento
                    //if (grid.columna == "id")
                    //{
                    //    query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.id)
                    //                                         : query.OrderBy(x => x.id);
                    //}

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

                    if (grid.columna == "Nombre")
                    {
                        query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.Usuario.Nombre)
                                                             : query.OrderBy(x => x.Usuario.Nombre);
                    }


                    // id, Nombre, Titulo, Desde, Hasta
                    // Filtrar
                    foreach (var f in grid.filtros)
                    {
                        if (f.columna == "Titulo")
                        {
                            query = query.Where(x => x.Titulo.StartsWith(f.valor));
                        }

                        if (f.columna == "Nombre")
                        {
                            query = query.Where(x => x.Usuario.Nombre.StartsWith(f.valor) || x.Usuario.Apellido.Contains(f.valor));
                        }

                        if (f.columna == "Descripcion")
                        {
                            query = query.Where(x => x.Titulo.Contains(f.valor));
                        }
                    }


                    var contenido = query.Skip(grid.pagina)
                                    .Take(grid.limite)
                                    .ToList();


                    var total = query.Count();

                    grid.SetData(
                        from e in contenido
                        select new
                    {
                        e.idContenido,
                        e.Titulo,
                        e.Descripcion,
                        Usuario = new
                        {
                            Nombre = e.Usuario.Nombre + ' ' + e.Usuario.Apellido
                        }
                    }

                        , total);
                }
            }
            catch (EntityException ex)
            {
                throw new Exception(ex.Message);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            return(grid.responde());
        }
コード例 #4
0
        public AnexGRIDResponde GetAll(AnexGRID grid)
        {
            grid.Inicializar();

            try
            {
                using (var ctx = _dbContextScopeFactory.CreateReadOnly())
                {
                    var courses    = ctx.GetEntity <Course>();
                    var categories = ctx.GetEntity <Category>();
                    var lessons    = ctx.GetEntity <LessonsPerCourse>();
                    var students   = ctx.GetEntity <UsersPerCourse>();
                    var users      = ctx.GetEntity <ApplicationUser>();

                    var queryStudents = (
                        from c in courses
                        from s in students.Where(x => x.CourseId == c.Id)
                        select new
                    {
                        UserId = s.UserId,
                        CourseId = c.Id
                    }
                        ).AsQueryable();

                    var query = (
                        from c in courses
                        from u in users.Where(x => x.Id == c.AuthorId)
                        select new CourseForGridView
                    {
                        Id = c.Id,
                        Instructor = (u.LastName + ", " + u.Name),
                        Name = c.Name,
                        Lessons = lessons.Where(x => x.CourseId == c.Id).Count(),
                        Students = queryStudents.Where(x => x.CourseId == c.Id).Count(),
                        Status = c.Status
                    }
                        ).AsQueryable();

                    // Order by
                    if (grid.columna == "Name")
                    {
                        query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.Name)
                                                             : query.OrderBy(x => x.Name);
                    }

                    var data = query.Skip(grid.pagina)
                               .Take(grid.limite)
                               .ToList();

                    var total = query.Count();

                    grid.SetData(data, total);
                }
            }
            catch (Exception e)
            {
                logger.Error(e.Message);
            }

            return(grid.responde());
        }