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); }
public override async Task <QuizDTO> GetQuizById(GetQuizDTO request, ServerCallContext context) { Database.Models.Quiz quiz = await _unitOfWork.QuizRepository.GetQuizById(request.QuizId); return(await GetQuizAsDTO(quiz)); }