public virtual async Task <IActionResult> TopicCreate(int id)
        {
            if (!_forumSettings.ForumsEnabled)
            {
                return(RedirectToRoute("Homepage"));
            }

            var forum = await _forumService.GetForumByIdAsync(id);

            if (forum == null)
            {
                return(RedirectToRoute("Boards"));
            }

            if (await _forumService.IsCustomerAllowedToCreateTopicAsync(await _workContext.GetCurrentCustomerAsync(), forum) == false)
            {
                return(Challenge());
            }

            var model = new EditForumTopicModel();
            await _forumModelFactory.PrepareTopicCreateModelAsync(forum, model);

            return(View(model));
        }