public ArticleResultSet GetLatestArticles(IPublishedContent currentContentItem, HttpRequestBase request) { var siteRoot = currentContentItem.Root(); var articleList = GetArticleListPage(siteRoot); var articles = articleList.Descendants() .Where(x => x.ContentType.Alias == "article" && x.IsVisible()) .OrderByDescending(y => y.Value <DateTime>("articleDate")); var isArticleListPage = articleList.Id == currentContentItem.Id; var fallbackPageSize = isArticleListPage ? 10 : 3; var pageNumber = QueryStringHelper.GetIntFromQueryString(request, "page", 1); var pageSize = QueryStringHelper.GetIntFromQueryString(request, "size", fallbackPageSize); var hasArticles = articles != null && articles.Any(); var pageOfArticles = hasArticles ? articles.Skip((pageNumber - 1) * pageSize).Take(pageSize).ToList() : Enumerable.Empty <IPublishedContent>(); var totalItemCount = hasArticles ? articles.Count() : 0; var pageCount = totalItemCount > 0 ? Math.Ceiling((double)totalItemCount / pageSize) : 1; var resultSet = new ArticleResultSet() { PageCount = pageCount, PageNumber = pageNumber, PageSize = pageSize, Results = pageOfArticles, IsArticleListPage = isArticleListPage, Url = articleList.Url }; return(resultSet); }
public ArticleViewModel GetLatestArticles(IPublishedContent currentContentItem, HttpRequestBase request) { var articleList = GetArticleListPage(currentContentItem.Root()); var articles = articleList.Descendants().Where(a => a.IsVisible()).OrderByDescending(a => a.Value <DateTime>("articleDate")); var isArticleListPage = articleList.Id == currentContentItem.Id; var fallbackPageSize = isArticleListPage ? 10 : 3; //Eğer artclelist ten geliyors 10 tane değilse 3 tane dönecek. var pageNumber = QueryStringHelper.GetIntFromQueryString(request, "page", 1); var pageSize = QueryStringHelper.GetIntFromQueryString(request, "size", fallbackPageSize); var pageOfArticles = articles.Skip((pageNumber - 1) * pageSize).Take(pageSize); var totalItemCount = articles.Count(); var pageCount = totalItemCount > 0 ? Math.Ceiling((double)totalItemCount / pageSize) : 1; ArticleViewModel model = new ArticleViewModel() { IsArticleListPage = isArticleListPage, PageCount = pageCount, PageNumber = pageNumber, PageSize = pageSize, TotalItemCount = totalItemCount, Results = pageOfArticles, Url = currentContentItem.Url }; return(model); }