示例#1
0
        private async Task <QuizDTO> GetQuizAsDTO(Database.Models.Quiz quiz)
        {
            List <string> incorrectAnswers = await _unitOfWork.IncorrectAnswerRepository.GetIncorrectAnswers(quiz.IncorrectAnswers.Select(ia => ia.IncorrectAnswerId).ToList());

            List <IncorrectAnswerDTO> options = new List <IncorrectAnswerDTO>();

            foreach (var item in incorrectAnswers)
            {
                options.Add(new IncorrectAnswerDTO {
                    Option = item
                });
            }

            QuizDTO output = new QuizDTO
            {
                QuizId     = quiz.Id,
                Category   = quiz.Category,
                Difficulty = quiz.Difficulty,
                Question   = quiz.Question,
                Answer     = quiz.CorrectAnswer,
            };

            output.IncorrectAnswers.AddRange(options);
            return(output);
        }
示例#2
0
        public override async Task <QuizDTO> GetQuizById(GetQuizDTO request, ServerCallContext context)
        {
            Database.Models.Quiz quiz = await _unitOfWork.QuizRepository.GetQuizById(request.QuizId);

            return(await GetQuizAsDTO(quiz));
        }