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); }
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); }