Exemplo n.º 1
0
 private void DisabledListProvider(FeatureDisabledException fde)
 {
     MessageBox.Show(
         "Unable to generate lists using " + _providerToRun.DisplayText +
         ". Removing from the list of providers during this session", fde.ApiErrorMessage);
     _listProviders.Remove(_providerToRun);
 }
Exemplo n.º 2
0
        public IActionResult Reply(int topicId, ReplyCreationModel replyCreationModel)
        {
            var currentUser = HttpContext.DiscussionUser();

            if (!_siteSettings.CanAddNewReplies())
            {
                var ex = new FeatureDisabledException();
                _logger.LogWarning($"添加回复失败:{currentUser.UserName}:{ex.Message}");
                return(BadRequest());
            }

            if (_siteSettings.RequireUserPhoneNumberVerified && !currentUser.PhoneNumberId.HasValue)
            {
                var ex = new UserVerificationRequiredException();
                _logger.LogWarning($"添加回复失败:{currentUser.UserName}:{ex.Message}");
                return(BadRequest());
            }

            var topic = _topicRepo.Get(topicId);

            if (topic == null)
            {
                ModelState.AddModelError("TopicId", "话题不存在");
            }

            if (!ModelState.IsValid)
            {
                _logger.LogModelState("添加回复", ModelState, currentUser.UserName);
                return(BadRequest(ModelState));
            }

            var reply = new Reply
            {
                TopicId   = topicId,
                CreatedBy = currentUser.Id,
                Content   = replyCreationModel.Content
            };

            _replyRepo.Save(reply);

            // ReSharper disable once PossibleNullReferenceException
            topic.LastRepliedAt     = _clock.Now.UtcDateTime;
            topic.LastRepliedByUser = currentUser;
            topic.ReplyCount       += 1;
            _topicRepo.Update(topic);

            _logger.LogInformation($"添加回复成功:{currentUser.UserName}:(topicId: {topic.Id} replyId: {reply.Id})");
            return(NoContent());
        }
Exemplo n.º 3
0
 private void DisabledListProvider(FeatureDisabledException fde)
 {
     MessageBox.Show(
         "Unable to generate lists using " + _providerToRun.DisplayText, fde.ApiErrorMessage);
 }