Abc.NCrafts.App.ViewModels.Questions.QuizLoader.LoadFrom C# (CSharp) Method

LoadFrom() public static method

public static LoadFrom ( string quizDirectoryPath ) : Quiz
quizDirectoryPath string
return Quiz
        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;
        }