示例#1
0
        /// <summary>
        /// Prepare the active discussions model
        /// </summary>
        /// <param name="forumId">Forum identifier</param>
        /// <param name="page">Number of forum topics page</param>
        /// <returns>Active discussions model</returns>
        public virtual ActiveDiscussionsModel PrepareActiveDiscussionsModel(int forumId, int page)
        {
            var model = new ActiveDiscussionsModel
            {
                ViewAllLinkEnabled           = false,
                ActiveDiscussionsFeedEnabled = _forumSettings.ActiveDiscussionsFeedEnabled,
                PostsPageSize   = _forumSettings.PostsPageSize,
                AllowPostVoting = _forumSettings.AllowPostVoting
            };

            var pageSize = _forumSettings.ActiveDiscussionsPageSize > 0 ? _forumSettings.ActiveDiscussionsPageSize : 50;

            var topics = _forumService.GetActiveTopics(forumId, (page - 1), pageSize);

            model.TopicPageSize     = topics.PageSize;
            model.TopicTotalRecords = topics.TotalCount;
            model.TopicPageIndex    = topics.PageIndex;
            foreach (var topic in topics)
            {
                var topicModel = PrepareForumTopicRowModel(topic);
                model.ForumTopics.Add(topicModel);
            }

            return(model);
        }
示例#2
0
        public ActionResult ActiveDiscussionsSmall()
        {
            if (!_forumSettings.ForumsEnabled)
            {
                return(RedirectToRoute("HomePage"));
            }

            var topics = _forumService.GetActiveTopics(0, 0, _forumSettings.HomePageActiveDiscussionsTopicCount);

            if (topics.Count == 0)
            {
                return(Content(""));
            }

            var model = new ActiveDiscussionsModel();

            foreach (var topic in topics)
            {
                var topicModel = PrepareForumTopicRowModel(topic);
                model.ForumTopics.Add(topicModel);
            }
            model.ViewAllLinkEnabled           = true;
            model.ActiveDiscussionsFeedEnabled = _forumSettings.ActiveDiscussionsFeedEnabled;
            model.PostsPageSize = _forumSettings.PostsPageSize;

            return(PartialView(model));
        }
示例#3
0
        /// <summary>
        /// Prepare the active discussions model
        /// </summary>
        /// <returns>Active discussions model</returns>
        public virtual ActiveDiscussionsModel PrepareActiveDiscussionsModel()
        {
            var model = new ActiveDiscussionsModel()
            {
                ViewAllLinkEnabled           = true,
                ActiveDiscussionsFeedEnabled = _forumSettings.ActiveDiscussionsFeedEnabled,
                PostsPageSize   = _forumSettings.PostsPageSize,
                AllowPostVoting = _forumSettings.AllowPostVoting
            };

            var topics = _forumService.GetActiveTopics(0, 0, _forumSettings.HomePageActiveDiscussionsTopicCount);

            foreach (var topic in topics)
            {
                var topicModel = PrepareForumTopicRowModel(topic);
                model.ForumTopics.Add(topicModel);
            }

            return(model);
        }
        public virtual ActiveDiscussionsModel PrepareActiveDiscussions(string forumId = "", int pageNumber = 1)
        {
            var model = new ActiveDiscussionsModel();

            int pageSize = _forumSettings.ActiveDiscussionsPageSize > 0 ? _forumSettings.ActiveDiscussionsPageSize : 50;

            var topics = _forumService.GetActiveTopics(forumId, (pageNumber - 1), pageSize);

            model.TopicPageSize     = topics.PageSize;
            model.TopicTotalRecords = topics.TotalCount;
            model.TopicPageIndex    = topics.PageIndex;
            foreach (var topic in topics)
            {
                var topicModel = PrepareForumTopicRow(topic);
                model.ForumTopics.Add(topicModel);
            }
            model.ViewAllLinkEnabled           = false;
            model.ActiveDiscussionsFeedEnabled = _forumSettings.ActiveDiscussionsFeedEnabled;
            model.PostsPageSize   = _forumSettings.PostsPageSize;
            model.AllowPostVoting = _forumSettings.AllowPostVoting;
            return(model);
        }
        public virtual ActiveDiscussionsModel PrepareActiveDiscussions()
        {
            var topics = _forumService.GetActiveTopics("", 0, _forumSettings.HomePageActiveDiscussionsTopicCount);

            if (!topics.Any())
            {
                return(null);
            }
            var model = new ActiveDiscussionsModel();

            foreach (var topic in topics)
            {
                var topicModel = PrepareForumTopicRow(topic);
                model.ForumTopics.Add(topicModel);
            }
            model.ViewAllLinkEnabled           = true;
            model.ActiveDiscussionsFeedEnabled = _forumSettings.ActiveDiscussionsFeedEnabled;
            model.PostsPageSize   = _forumSettings.PostsPageSize;
            model.AllowPostVoting = _forumSettings.AllowPostVoting;

            return(model);
        }