コード例 #1
0
        public Topic CreateTopic(TopicCreationModel model)
        {
            if (!_settings.CanCreateNewTopics())
            {
                throw new FeatureDisabledException();
            }

            var user = _currentUser.DiscussionUser;

            if (_settings.RequireUserPhoneNumberVerified && !user.PhoneNumberId.HasValue)
            {
                throw new UserVerificationRequiredException();
            }

            // ReSharper disable once PossibleInvalidOperationException
            var topic = new Topic
            {
                Title        = model.Title,
                Content      = model.Content,
                Type         = model.Type.Value,
                CreatedBy    = user.Id,
                CreatedAtUtc = _clock.Now.UtcDateTime
            };

            _topicRepo.Save(topic);

            return(topic);
        }