public virtual TopicMoveModel PrepareTopicMove(ForumTopic forumTopic) { var model = new TopicMoveModel(); model.ForumList = ForumGroupsForumsList(); model.Id = forumTopic.Id; model.TopicSeName = forumTopic.GetSeName(); model.ForumSelected = forumTopic.ForumId; return(model); }
/// <summary> /// Prepare the topic move model /// </summary> /// <param name="forumTopic">Forum topic</param> /// <returns>Topic move model</returns> public virtual TopicMoveModel PrepareTopicMove(ForumTopic forumTopic) { if (forumTopic == null) { throw new ArgumentNullException(nameof(forumTopic)); } var model = new TopicMoveModel { ForumList = ForumGroupsForumsList(), Id = forumTopic.Id, TopicSeName = forumTopic.GetSeName(), ForumSelected = forumTopic.ForumId }; return(model); }
/// <summary> /// Prepare the topic move model /// </summary> /// <param name="forumTopic">Forum topic</param> /// <returns> /// A task that represents the asynchronous operation /// The task result contains the opic move model /// </returns> public virtual async Task <TopicMoveModel> PrepareTopicMoveAsync(ForumTopic forumTopic) { if (forumTopic == null) { throw new ArgumentNullException(nameof(forumTopic)); } var model = new TopicMoveModel { ForumList = await ForumGroupsForumsListAsync(), Id = forumTopic.Id, TopicSeName = await _forumService.GetTopicSeNameAsync(forumTopic), ForumSelected = forumTopic.ForumId }; return(model); }
public virtual async Task <IActionResult> TopicMove(TopicMoveModel model) { if (!_forumSettings.ForumsEnabled) { return(RedirectToRoute("HomePage")); } var forumTopic = await _forumService.GetTopicById(model.Id); if (forumTopic == null) { return(RedirectToRoute("Boards")); } var newForumId = model.ForumSelected; var forum = await _forumService.GetForumById(newForumId); if (forum != null && forumTopic.ForumId != newForumId) { await _forumService.MoveTopic(forumTopic.Id, newForumId); } return(RedirectToRoute("TopicSlug", new { id = forumTopic.Id, slug = forumTopic.GetSeName() })); }