public static void ChangePartOptions(EventDB eventDB, CourseDesignator courseDesignator, PartOptions partOptions) { Debug.Assert(courseDesignator.IsNotAllControls); Course course = eventDB.GetCourse(courseDesignator.CourseId); course = (Course)course.Clone(); course.partOptions[courseDesignator.Part] = partOptions.Clone(); eventDB.ReplaceCourse(courseDesignator.CourseId, course); }