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); }