Simplify wrong answer percentage display

This commit is contained in:
hz
2026-07-11 01:46:37 -05:00
parent 8a86734a0b
commit bdd32c9dac
3 changed files with 19 additions and 7 deletions
+11 -3
View File
@@ -28,9 +28,7 @@ public class QuestionResponse
CorrectChoiceId = question.CorrectChoiceId,
Explanation = question.Explanation,
ChoiceExplanations = question.ChoiceExplanations,
ChoiceSelectionPercentages = liveChoiceSelectionPercentages is { Count: > 0 }
? liveChoiceSelectionPercentages
: question.ChoiceSelectionPercentages,
ChoiceSelectionPercentages = BuildChoiceSelectionPercentages(question, liveChoiceSelectionPercentages),
Discipline = question.Discipline,
System = question.System,
Difficulty = question.Difficulty,
@@ -38,6 +36,16 @@ public class QuestionResponse
Media = question.Media,
Tags = question.Tags
};
public static Dictionary<string, int> BuildChoiceSelectionPercentages(Question question, Dictionary<string, int>? liveChoiceSelectionPercentages)
{
if (liveChoiceSelectionPercentages is not { Count: > 0 })
return question.ChoiceSelectionPercentages;
return question.Choices.ToDictionary(
choice => choice.Id,
choice => liveChoiceSelectionPercentages.GetValueOrDefault(choice.Id, 0));
}
}
public class FirstQuestionAttemptResponse