public static Quiz LoadFrom(string quizDirectoryPath)
{
var quiz = new Quiz();
var questionsByDifficulty = new SortedDictionary<int, List<Question>>();
foreach (var questionDirectoryPath in Directory.GetDirectories(quizDirectoryPath))
{
var question = LoadQuestion(questionDirectoryPath);
List<Question> questions;
if (!questionsByDifficulty.TryGetValue((int)question.Difficulty, out questions))
{
questions = new List<Question>();
questionsByDifficulty.Add((int)question.Difficulty, questions);
}
questions.Add(question);
}
foreach (var questions in questionsByDifficulty.Values)
{
quiz.Questions.AddRange(questions);
}
return quiz;
}