public async Task UpdateQuestionAsync([FromBody] QuestionUpdateRequest model) { var question = await _questionnaireService.GetQuestionAsync(model.Id); if (question != null) { await _questionnaireService.UpdateQuestionAsync(_mapper.Map <Question>(model)); } }
public async Task <ActionResult> PutAsync([FromRoute] Guid id, [FromBody] QuestionUpdateRequest request) { var question = _mapper.Map <QuestionEditModel>(request); question.QuestionUserId = User.UserId().Value; question.QuestionId = id; await _questionService.EditQuestionAsync(question); return(NoContent()); }
public async Task <ActionResult> UpdateAsync([FromRoute] string id, [FromBody] QuestionUpdateRequest request, CancellationToken cancellationToken) { if (string.IsNullOrEmpty(request.Summary)) { throw new ArgumentNullException(nameof(request.Summary)); } await _questionService.UpdateAsync(id, request, cancellationToken); return(Ok()); }
public async Task UpdateAsync_Right_CommentsShouldAppend() { var before = await CreateOrGetOneQuestionWithNoAnswerAsync(); var updateRequest = new QuestionUpdateRequest { Title = before.Title + "-updated", Summary = "summary" }; await _questionService.UpdateAsync(before.Id, updateRequest, CancellationToken.None); var after = await _questionService.GetAsync(before.Id, CancellationToken.None); after.Comments.Should().NotBeEmpty(); after.Comments.Count.Should().Be(before.Comments.Count + 1); }
public async Task UpdateAsync_Right_ShoudBeOk() { var before = await CreateOrGetOneQuestionWithNoAnswerAsync(); var updateRequest = new QuestionUpdateRequest { Title = before.Title + "-updated", Summary = "summary" }; await _questionService.UpdateAsync(before.Id, updateRequest, CancellationToken.None); var after = await _questionService.GetAsync(before.Id, CancellationToken.None); after.Should().NotBeNull(); after.Title.Should().Be(updateRequest.Title); }
public async Task Put_Updates_Question() { _quizRepository.Add(new Quiz { Id = 1, Name = "asd", DateAdded = DateTime.Now }); _questionRepository.Add(new Question { Id = 2, QuizId = 1, Text = "Pytankoo", Choices = null }); await _quizRepository.SaveChangesAsync(); await _questionRepository.SaveChangesAsync(); var newQuestion = new QuestionUpdateRequest { Text = "Pytanie na sniadanie" }; var result = await _questionsController.Put(1, 2, newQuestion); //Assert Assert.True(result.Value.Text == newQuestion.Text); }
public async Task UpdateAsync(string id, QuestionUpdateRequest request, CancellationToken cancellationToken) { var filter = Builders <Question> .Filter.Eq(q => q.Id, id); //var update = Builders<Question>.Update // .Set(q => q.Title, request.Title) // .Set(q => q.Content, request.Content) // .Set(q => q.Tags, request.Tags) // .Push(q => q.Comments, new Comment {Content = request.Summary, CreatedAt = DateTime.Now}); var updateFieldList = new List <UpdateDefinition <Question> >(); if (!string.IsNullOrWhiteSpace(request.Title)) { updateFieldList.Add(Builders <Question> .Update.Set(q => q.Title, request.Title)); } if (!string.IsNullOrWhiteSpace(request.Content)) { updateFieldList.Add(Builders <Question> .Update.Set(q => q.Content, request.Content)); } if (request.Tags != null && request.Tags.Any()) { updateFieldList.Add(Builders <Question> .Update.Set(q => q.Tags, request.Tags)); } updateFieldList.Add(Builders <Question> .Update.Push(q => q.Comments, new Comment { Content = request.Summary, CreatedAt = DateTime.Now })); var update = Builders <Question> .Update.Combine(updateFieldList); await _questionCollection.UpdateOneAsync(filter, update, cancellationToken : cancellationToken); }
public async Task <ActionResult <QuestionResponse> > Put(int quizId, int questionId, QuestionUpdateRequest request) { var updateResponse = await _questionService.Update(quizId, questionId, request); if (!updateResponse.Success) { if (!updateResponse.Found) { return(NotFound(updateResponse.Errors)); } return(BadRequest(updateResponse.Errors)); } return(updateResponse.Object); }