ChiakiYu.Service.Blogs.BlogService.GetBlogs C# (CSharp) Method

GetBlogs() public method

获取所有用户分页列表
public GetBlogs ( GetBlogsInput input ) : PagingList
input ChiakiYu.Service.Blogs.Dto.GetBlogsInput
return PagingList
        public PagingList<Blog> GetBlogs(GetBlogsInput input)
        {
            var query = _blogRepository.Table;
            if (!string.IsNullOrWhiteSpace(input.NameKeyWords))
                query = query.Where(m => m.Title.Contains(input.NameKeyWords) || m.Summary.Contains(input.NameKeyWords));
            if (input.SortBy.HasValue)
            {
                switch (input.SortBy.Value)
                {
                    case SortBy.CreatedTime:
                        query = query.OrderBy(n => n.Id);
                        break;
                    case SortBy.CreatedTimeDesc:
                        query = query.OrderByDescending(n => n.Id);
                        break;
                    case SortBy.UpdatedTimeDesc:
                        query = query.OrderByDescending(n => n.UpdatedTime);
                        break;
                    case SortBy.CommentCount:
                        query = query.OrderByDescending(n => n.CommentCount);
                        break;
                    case SortBy.HitCount:
                        query = query.OrderByDescending(n => n.HitCount);
                        break;
                    default:
                        query = query.OrderByDescending(n => n.IsTop).ThenByDescending(n => n.Id);
                        break;
                }
            }
            else
            {
                query = query.OrderByDescending(n => n.IsTop).ThenByDescending(n => n.Id);
            }
            var source = query
                .Include(n => n.Author).Skip((input.PageIndex - 1) * input.PageSize)
                .Take(input.PageSize);

            var result = new PagingList<Blog>(source, input.PageIndex, input.PageSize, query.LongCount());
            return result;
        }