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()); }
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()); }
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()); }
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()); }