Beispiel #1
0
        public async Task <IActionResult> GenerateQuiz(int questionsCount)
        {
            if (ModelState.IsValid)
            {
                var quiz    = new Quiz();
                var created = await _quizRepo.AddEntity(quiz);

                var quizGenerated = _quizRepo.GenerateQuiz(created, questionsCount);

                var quizDTO = new QuizDTO {
                    Name = quiz.Name, Id = quiz.Id
                };
                quizDTO.QuestionDTOs = new List <QuestionDTO>();
                var t = quizGenerated.Questions.Count(a => a.Answers.Count() > 0);
                foreach (var question in quizGenerated.Questions)
                {
                    var answerList = question.Answers.Select(a => new AnswerDTO {
                        Id = a.Id, QuestionId = a.QuestionId, Text = a.Text
                    });
                    var questionDTO = new QuestionDTO {
                        Id = question.Id, SnippetUrl = question.SnippetUrl, Text = question.Text, AnswerDTOs = answerList
                    };
                    quizDTO.QuestionDTOs.Add(questionDTO);
                }

                return(Ok(quizDTO));
            }

            else
            {
                return(BadRequest("ModelState is not valid."));
            }
        }