Esempio n. 1
0
 public DynamicCourseNameControl(DynamicCourse course)
 {
     _course          = course;
     _enabledCheckBox = new CheckBox();
     _courseComboBox  = new ComboBox();
     Controls.Add(_enabledCheckBox);
     Controls.Add(_courseComboBox);
 }
Esempio n. 2
0
        private static DynamicCourse LoadMultiCourse(List <Course> courses, TemplateLoader templateLoader,
                                                     XElement courseElement)
        {
            string linkName = XmlHelper.GetAttributeValueOrDefault(courseElement, "link");

            if (linkName == null)
            {
                return(LoadMultiCourseNoLink(templateLoader, courseElement));
            }

            DynamicCourse linkedCourse = courses.FirstOrDefault(c => c.Name == linkName) as DynamicCourse;

            if (linkedCourse == null)
            {
                throw XmlHelper.CreateException(courseElement, "Invalid course link: " + linkName);
            }
            return(LoadMultiCourseWithLink(linkedCourse, courseElement));
        }
Esempio n. 3
0
        private static DynamicCourse LoadMultiCourseWithLink(DynamicCourse linkedCourse, XElement courseElement)
        {
            // Make sure no attributes other than link and name are defined
            string courseName = XmlHelper.GetAttributeValue(courseElement, "name");

            if (courseElement.Attribute("scores") != null)
            {
                throw XmlHelper.CreateException(courseElement, "Cannot define score for linked course");
            }
            if (courseElement.Attribute("levels") != null)
            {
                throw XmlHelper.CreateException(courseElement, "Cannot define levels for linked course");
            }
            if (courseElement.Attribute("credits") != null)
            {
                throw XmlHelper.CreateException(courseElement, "Cannot define credits for linked course");
            }
            return(new DynamicCourse(courseName, linkedCourse));
        }
Esempio n. 4
0
        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;
            }
        }