public async Task <IActionResult> CreateAsync([FromBody] QuizCreationViewModel quizViewModel) { var resultQuizCreated = await _quizAppService.CreateAsync(quizViewModel); if (resultQuizCreated.StatusCode == Application.Core.StatusCode.BAD_REQUEST) { return(BadRequest(resultQuizCreated.Errors)); } return(CreatedAtRoute("", quizViewModel)); }
public async Task <IActionResult> UpdateAsync(int quizId, [FromBody] QuizCreationViewModel quizViewModel) { var resultUpdatedQuiz = await _quizAppService.UpdateAsync(quizId, quizViewModel); if (resultUpdatedQuiz.StatusCode == Application.Core.StatusCode.BAD_REQUEST) { return(BadRequest(resultUpdatedQuiz.Errors)); } if (resultUpdatedQuiz.StatusCode == Application.Core.StatusCode.NOT_FOUND) { return(NotFound(resultUpdatedQuiz.Errors)); } return(Ok()); }
public async Task <ResultResponse> UpdateAsync(int id, QuizCreationViewModel quizCreationViewModel) { var quiz = _mapper.Map <Quiz>(quizCreationViewModel); var questions = new List <QuizQuestion>(quizCreationViewModel.Questions.Count()); foreach (var questionViewModel in quizCreationViewModel.Questions) { var alternatives = new List <Alternative>(4); foreach (var alternativeViewModel in questionViewModel.Alternatives) { alternatives.Add(Alternative.Parse(alternativeViewModel.description, alternativeViewModel.isCorrect)); } questions.Add(new QuizQuestion(questionViewModel.Description, alternatives)); } var businessResult = await _quizService.UpdateAsync(id, quiz, questions); return(new ResultResponse(businessResult, Operation.CREATE)); }