fillQuizResponse method

void fillQuizResponse()

Cette fonction permet de completer le quiz Template à partir des réponses fournies par l'utilisateur et sauvergé sur l'api

Implementation

void fillQuizResponse() {
  final responseMap = Map<String, dynamic>.from(_userResponses);

  for (var step in steps) {
    for (var question in step.allQuestions) {
      final key = question.questionKey;

      // Remplissage de la réponse principale
      if (responseMap.containsKey(key)) {
        //debugPrint("found match: $key : ${responseMap[key]}");
        question.value = responseMap[key];
      }

      // Remplissage du champ "why" si présent
      if (question.whyConfig != null) {
        final whyKey = '${key}_${QuizConstants.WHY_KEY}';
        if (responseMap.containsKey(whyKey)) {
          question.whyConfig?.setValue(responseMap[whyKey]);
        }
      }

      // Remplissage du champ "other" si présent
      if (question.other != null) {
        final otherKey = '${key}_${QuizConstants.OTHER_OPTION_KEY}';
        if (responseMap.containsKey(otherKey)) {
          question.other?.setValue(responseMap[otherKey]);
        }
      }
    }
  }
}