public MoviesListView GetMovies(PageQuery query) { var moviesInfo = new OperateResultPage <IQueryable <MoviesInfo> >(); if (string.IsNullOrEmpty(query.Key)) { moviesInfo = _repository.QueryWithPage <MoviesInfo>(query); } else { moviesInfo = _repository.QueryWithPage <MoviesInfo>(query, s => s.Name.Contains(query.Key) || s.Stars.Contains(query.Key) || s.Area.Contains(query.Key) || s.Type.Contains(query.Key) || s.Year.Contains(query.Key)); } var result = new List <string>(); var data = moviesInfo.Rows.ToList(); foreach (var item in data) { result.Add(GetMovieDiv(item)); } return(new MoviesListView() { MoviesContent = string.Join("", result), Page = query.Page, Total = moviesInfo.Total }); }
/// <summary> /// 分页查询 /// </summary> /// <typeparam name="TEntity">查询类型</typeparam> /// <param name="pageSize">查询条数</param> /// <param name="pageNo">当前页</param> /// <param name="criteria">条件表达式</param> /// <returns>OperateResultPage</returns> public OperateResultPage <IQueryable <TEntity> > QueryWithPage <TEntity>(PageQuery pageQuery, Expression <Func <TEntity, bool> > criteria = null) where TEntity : class { var result = new OperateResultPage <IQueryable <TEntity> >(); var data = criteria == null?_context.Set <TEntity>() : _context.Set <TEntity>().Where(criteria); //if (!string.IsNullOrEmpty(pageQuery.Sidx)) //{ // data.OrderBy(pageQuery.Sidx,pageQuery.Sord); //} result.Page = pageQuery.Page; result.Status = OperateStatus.Success; result.Records = data.Count(); result.Rows = data.Skip((pageQuery.Page - 1) * pageQuery.Rows).Take(pageQuery.Rows); result.Total = data.Count() % pageQuery.Rows > 0 ? 1 + data.Count() / pageQuery.Rows : data.Count() / pageQuery.Rows; return(result); }