Exemplo n.º 1
0
        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
            });
        }
Exemplo n.º 2
0
        /// <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);
        }