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