Example #1
0
        public ActionResult List(string groupTitle = "", int pageIndex = 0)
        {
            groupTitle = groupTitle.DeNormalizeForUrl();

            var group   = Groups.GetByTitle(groupTitle, _groupType);
            int?groupID = null;

            if (group != null)
            {
                groupID = group.ID;
            }

            if (pageIndex > 0)
            {
                pageIndex = pageIndex - 1;
            }
            else
            {
                pageIndex = 0;
            }

            var list           = Articles.GetBlogList(pageIndex, pageSize, OnlineStore.Models.Enums.ArticleType.Blog, DateTime.Now, groupID);
            var latestPosts    = Articles.GetLatestPosts(groupID.HasValue ? groupID.Value : (int?)null);
            var latestComments = ArticleComments.GetLatestComments(ArticleType.Blog, 6);

            var count      = Articles.CountBlogList(OnlineStore.Models.Enums.ArticleType.Blog, DateTime.Now, groupID);
            var totalPages = (int)Math.Ceiling((decimal)count / pageSize);
            var paging     = Utilities.MakePaging(totalPages, pageIndex + 1);

            foreach (var item in list)
            {
                try
                {
                    var user = Identity.OSUsers.GetByID(item.UserID);
                    item.UserTitle = user.Firstname + " " + user.Lastname;
                }
                catch (Exception ex)
                {
                    item.UserTitle = StaticValues.HomeTitle;
                }
            }

            var model = new BlogList
            {
                DataList         = list,
                GroupID          = groupID,
                Paging           = paging,
                TotalPages       = totalPages,
                CurrentPageIndex = pageIndex,
                LatestPosts      = latestPosts,
                LatestComments   = latestComments
            };

            return(View(url + "Index.cshtml", model: model));
        }