本文整理匯總了C#中PurplePen.EventDB.RemoveControlPoint方法的典型用法代碼示例。如果您正苦於以下問題:C# EventDB.RemoveControlPoint方法的具體用法?C# EventDB.RemoveControlPoint怎麽用?C# EventDB.RemoveControlPoint使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類PurplePen.EventDB
的用法示例。
在下文中一共展示了EventDB.RemoveControlPoint方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: RemoveControl
// Removes a control from the event. If the control is present in any course as a course-control, those
// course-controls are also removed.
public static void RemoveControl(EventDB eventDB, Id<ControlPoint> controlId)
{
// Find all of the courses/course-controls that are this control.
foreach (Id<Course> courseId in QueryEvent.CoursesUsingControl(eventDB, controlId)) {
Id<CourseControl> courseControlId;
do {
// Remove one course control could remove multiple, so only remove first of the course controls that use that control, then
// check again.
courseControlId = QueryEvent.GetCourseControlsInCourse(eventDB, new CourseDesignator(courseId), controlId).FirstOrDefault();
if (courseControlId.IsNotNone)
RemoveCourseControl(eventDB, courseId, courseControlId);
} while (courseControlId.IsNotNone);
}
// Find all of the legs that use this control and remove them.
List<Id<Leg>> legIdList = new List<Id<Leg>>();
foreach (Id<Leg> legId in eventDB.AllLegIds) {
Leg leg = eventDB.GetLeg(legId);
if (leg.controlId1 == controlId || leg.controlId2 == controlId)
legIdList.Add(legId);
}
foreach (Id<Leg> legId in legIdList)
eventDB.RemoveLeg(legId);
// Remove the control point itself.
eventDB.RemoveControlPoint(controlId);
}