コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
ファイル: ForumModelFactory.cs プロジェクト: abcwarehouse/nop
        /// <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);
        }
コード例 #4
0
        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() }));
        }