コード例 #1
0
        public ActionResult <PaginatedResult <Post> > GetBlogPostPage(
            [FromQuery] string sortName,
            [FromQuery] int pageNumber,
            [FromQuery] int pageSize,
            [FromQuery] string title,
            [FromQuery] string description,
            [FromQuery] List <long> groups,
            [FromQuery] long?authenticate,
            [FromQuery] long?star
            )
        {
            var authenticated = User.Identity.IsAuthenticated;
            var posts         = _postRepository.Filter(_context.Post, title, description, groups, authenticate, star);

            posts = _postRepository.Include(_postRepository.Order(posts, sortName)).Where(p => !authenticated ? p.Authenticate != 1 : true);
            var paginatedList = PaginatedList <Post> .Create(posts, pageNumber, pageSize);

            return(Ok(new PaginatedResult <Post>(paginatedList, paginatedList.TotalCount)));
        }