convertToQuizContentDto method

  1. @override
QuizContentDto convertToQuizContentDto(
  1. {required Question question}
)
override

Implementation

@override
QuizContentDto convertToQuizContentDto({
  required Question question,
}) {
  if (question.id == null ||
      question.content == null ||
      question.options == null ||
      question.correctOptionIds == null) {
    throw Exception('クイズコンテンツ詳細が不正です');
  }

  final options = question.options!;
  final correctOptionIds = question.correctOptionIds!;

  final QuizOptionsDto quizQuestions = QuizOptionsDto(
    quizOptions: options
        .map(
          (e) => QuizOptionDto(
            optionId: e.id!,
            optionText: e.text!,
            isCorrectOption: correctOptionIds.contains(e.id),
            isSelected: false,
          ),
        )
        .toList(),
  );

  return QuizContentDto(
    quizId: question.id!,
    quizContent: question.content!,
    quizQuestions: quizQuestions,
  );
}