public bool GroupsOverlap(CourseClass c) { return c.StudentGroups.Any(group => { return StudentGroups.Any(innerGroup => innerGroup == group); }); }
public bool ProfessorOverlaps(CourseClass c ) { return ClassProfessor == c.ClassProfessor; }
private void MoveSingleClass(int source, int dest, CourseClass moving) { _timeslots[source].Remove(moving); _timeslots[dest].Add(moving); _classes[moving] = dest; }
public void ReadFromXML(string path) { XElement doc = XElement.Load(path); var professors = from el in doc.Elements() where el.Name == "prof" select el; var courses = from el in doc.Elements() where el.Name == "course" select el; var rooms = from el in doc.Elements() where el.Name == "room" select el; var groups = from el in doc.Elements() where el.Name == "group" select el; var classes = from el in doc.Elements() where el.Name == "class" select el; foreach (var prof in professors) { string name = prof.Attribute("name").Value; int id = int.Parse(prof.Attribute("id").Value); Professor p = new Professor(id, name); Professors.Add(id, p); } foreach (var course in courses) { string name = course.Attribute("name").Value; int id = int.Parse(course.Attribute("id").Value); Course c = new Course(id, name); Courses.Add(id, c); } foreach (var room in rooms) { string name = room.Attribute("name").Value; int cap = int.Parse(room.Attribute("capacity").Value); bool lab = bool.Parse(room.Attribute("lab").Value); Room r = new Room(name, lab, cap); Rooms.Add(r.ID, r); } foreach (var group in groups) { string name = group.Attribute("name").Value; int id = int.Parse(group.Attribute("id").Value); int size = int.Parse(group.Attribute("size").Value); StudentGroup g = new StudentGroup(id, name, size); StudentGroups.Add(id, g); } foreach (var cclass in classes) { int dur = int.Parse(cclass.Attribute("dur").Value); bool requireslab = bool.Parse(cclass.Attribute("requireslab").Value); var prof = GetProfessorByID(int.Parse(cclass.Attribute("professor").Value)); var group = GetStudentGroupByID(int.Parse(cclass.Attribute("group").Value)); var course = GetCourseByID(int.Parse(cclass.Attribute("course").Value)); CourseClass c = new CourseClass(prof, course, new List<StudentGroup> { group }, requireslab, dur); CourseClasses.Add(c); group.Classes.Add(c); prof.Classes.Add(c); } }
public void AddCourseClass(CourseClass courseClass) { courseClass.ClassProfessor = this; Classes.Add(courseClass); }