public virtual ActionResult GetBlogPostsList(PostsListType listType, int?page, int?pageSize, int?catId, DateTime?fromDate, ViewStyles?style, NumberOfCol?numberOfCol, bool?showPager) { if (!CurrentSettings.EnableBlog) { return(View("PageNotFound")); } var currentUser = UserManager.FindById(User.Identity.GetUserId()); IPagedList <TblBlogPosts> posts = null; switch (listType) { case PostsListType.Newest: posts = _blogPostService.GetNewItems(page ?? 1, pageSize ?? 24, catId, fromDate); break; case PostsListType.MostPopular: posts = _blogPostService.GetPopularItems(page ?? 1, pageSize ?? 24, catId, fromDate); break; case PostsListType.HotList: posts = _blogPostService.GetHotList(page ?? 1, pageSize ?? 24, catId, fromDate); break; case PostsListType.Featured: posts = _blogPostService.GetFeaturedItems(page ?? 1, pageSize ?? 24, catId, fromDate); break; } var model = new PostsListModel() { PostsList = _postModelFactory.PreparePostCardViewModel(posts, currentUser, Url), ViewStyle = style ?? ViewStyles.Normal, PageIndex = page ?? 1, PageSize = pageSize, PostsListType = listType, FromDate = fromDate, FilterByCategoryId = catId, ShowPager = showPager ?? true, NumberOfCol = numberOfCol ?? NumberOfCol.Four }; return(View("Partials/_PostsList", model)); }
public async Task <IActionResult> List([FromServices] GetPostsQuery getPostQuery, string categoryCode = null, int page = 1) { if (page < 1) { page = 1; } IQueryable <Post> query = getPostQuery.ForCategory(categoryCode).Build(); double pagesCount = Math.Ceiling((double)query.Count() / postsPerPage); List <Data.Post> posts = await query.Paginate((page - 1) *postsPerPage, postsPerPage).ToListAsync(); var model = new PostsListModel { Posts = posts, CurrentPageIndex = page, TotalPageNumber = pagesCount }; return(Json(model)); }