public CategorizedForumContainer GetCategorizedForumContainerFilteredForUser(User user)
        {
            var nonViewableForumIDs = GetNonViewableForumIDs(user);
            var forums     = _forumRepository.GetAllVisible().Where(f => !nonViewableForumIDs.Contains(f.ForumID));
            var totalPost  = 0;
            var totalTopic = 0;

            foreach (var item in forums)
            {
                if (user.UserType == 1)
                {
                    item.PostCount = _postRepository.GetReplyCountByStudent(item.ForumID, false, 1);
                }
                else
                {
                    item.PostCount = _postRepository.GetReplyCountByStudent(item.ForumID, false, 2);
                }
                totalPost  += item.PostCount;
                totalTopic += item.TopicCount;
            }

            var categories = _categoryRepository.GetAll();
            var container  = new CategorizedForumContainer(categories, forums);

            _lastReadService.GetForumReadStatus(user, container);
            container.ForumTitle = _settingsManager.Current.ForumTitle;
            container.Posts      = _postRepository.GetAll();
            container.Comments   = _postRepository.GetAllComments();
            container.users      = user;
            return(container);
        }
Esempio n. 2
0
        public CategorizedForumContainer GetCategorizedForumContainerFilteredForUser(User user)
        {
            var nonViewableForumIDs = GetNonViewableForumIDs(user);
            var forums     = _forumRepository.GetAllVisible().Where(f => !nonViewableForumIDs.Contains(f.ForumID));
            var categories = _categoryRepository.GetAll();
            var container  = new CategorizedForumContainer(categories, forums);

            _lastReadService.GetForumReadStatus(user, container);
            container.ForumTitle = _settingsManager.Current.ForumTitle;
            return(container);
        }