public static Quiz_DTO ConvertQuizTo_DTO(Quiz quiz, ref Quiz_DTO quiz_DTO, IQuizRepo quizRepo)
        {
            quiz_DTO.Id           = quiz.Id;
            quiz_DTO.DifficultyId = quiz.DifficultyId;
            quiz_DTO.Subject      = quiz.Subject;
            quiz_DTO.Description  = quiz.Description;

            var diff = new Difficulty_DTO();

            quiz_DTO.Difficulty = ConvertDifficultyTo_DTO(quiz.Difficulty, ref diff);

            List <Question_DTO> question_DTOs = new List <Question_DTO>();

            //Questions
            foreach (Question question in quiz.Questions)
            {
                var obj = new Question_DTO();
                question_DTOs.Add(ConvertQuestionTo_DTO(question, obj, quizRepo).Result);
            }

            quiz_DTO.Questions = question_DTOs;

            List <Result_DTO> result_DTOs = new List <Result_DTO>();

            //results
            foreach (Result result in quiz.Results)
            {
                var obj = new Result_DTO();
                result_DTOs.Add(ConvertResultTo_DTO(result, ref obj));
            }

            quiz_DTO.Results = result_DTOs;

            return(quiz_DTO);
        }
        public async static Task <Question_DTO> ConvertQuestionTo_DTO(Question question, Question_DTO question_DTO, IQuizRepo quizRepo)
        {
            question_DTO.Id          = question.Id;
            question_DTO.Description = question.Description;

            var result = await quizRepo.GetAllAnswersByQuestionId(question.Id);

            List <Answer_DTO> answer_DTOs = new List <Answer_DTO>();

            //Answers
            foreach (Answer answer in result)
            {
                var obj = new Answer_DTO();
                answer_DTOs.Add(ConvertAnswerTo_DTO(answer, ref obj));
            }
            question_DTO.Answers = answer_DTOs;

            return(question_DTO);
        }