private static void LoadCourse(XElement courseConfigElement, Course course) { // Sub-course DynamicCourse dynamicCourse = course as DynamicCourse; if (dynamicCourse != null) { string selectedCourseStr = XmlHelper.GetElementValueOrDefault(courseConfigElement, "selected"); if (selectedCourseStr != null) { StaticCourse selected = dynamicCourse.Courses.FirstOrDefault(c => c.RawName == selectedCourseStr); if (selected != null) { dynamicCourse.SelectedCourse = selected; } } } // Enabled string enabledStr = XmlHelper.GetElementValueOrDefault(courseConfigElement, "enabled"); bool enabled; if (bool.TryParse(enabledStr, out enabled)) { course.Enabled = enabled; } // Group if (course.GroupCount > 0) { string groupStr = XmlHelper.GetElementValueOrDefault(courseConfigElement, "group"); if (groupStr != null) { LevelGroup group = course.FirstOrDefault(g => g.RawName == groupStr); if (group != null) { course.SelectedLevelGroup = group; } } } // Level if (course.SelectedLevelGroup.LevelCount > 0) { string levelStr = XmlHelper.GetElementValueOrDefault(courseConfigElement, "level"); if (levelStr != null) { Level level = course.SelectedLevelGroup.FirstOrDefault(l => l.RawName == levelStr); if (level != null) { course.SelectedLevel = level; } } } // Score string scoreStr = XmlHelper.GetElementValueOrDefault(courseConfigElement, "score"); if (scoreStr != null) { course.Score = scoreStr; } }
public StaticCourseNameControl(StaticCourse course) { _course = course; }