public IActionResult MergeMore(int id, int page = 0) { var record = DbContext.Messages.FirstOrDefault(item => item.Id == id); if (record is null) { throw new HttpNotFoundError(); } var topicPreviews = TopicRepository.GetPreviews(0, page, 0); foreach (var topicPreview in topicPreviews.ToList()) { if (topicPreview.Id == id) { topicPreviews.Remove(topicPreview); } else { topicPreview.SourceId = id; } } var viewModel = new PageModels.TopicIndexMorePage { More = topicPreviews.Any(), Page = page, Topics = topicPreviews }; return(ForumViewResult.ViewResult(this, viewModel)); }
public IActionResult IndexMore(int id = 0, int page = 0, int unread = 0) { var boardRoles = RoleRepository.BoardRoles.Where(r => r.BoardId == id).Select(r => r.RoleId).ToList(); if (!UserContext.IsAdmin && boardRoles.Any() && !boardRoles.Intersect(UserContext.Roles).Any()) { throw new HttpForbiddenError(); } var topicPreviews = TopicRepository.GetPreviews(id, page, unread); var viewModel = new PageModels.TopicIndexMorePage { More = topicPreviews.Any(), Page = page, Topics = topicPreviews }; return(ForumViewResult.ViewResult(this, viewModel)); }