| Quintiq file version 2.0 | 
| #parent: #root | 
| Method SetDefaultValue ( | 
|   LibCal_CalendarRegistry owner | 
| ) id:Method_DialogCreateEditEventType_SetDefaultValue | 
| { | 
|   #keys: '[415136.0.725511682]' | 
|   Body: | 
|   [* | 
|     // Set default + init dialog | 
|     dialogInstance := dhDialogData.Data().WrappedInstance(); | 
|     isNew := isnull( dialogInstance ); | 
|      | 
|     // Extract the parent product by filtering out the descendents of the selected products in order to prevent circularity | 
|     eventtypes := construct( LibCal_EventTypes ); | 
|     if( isNew | 
|         or dialogInstance.IsLeaf() ) // Is leaf | 
|     { | 
|       eventtypes := selectset( owner, EventType, et, true ); | 
|       currentScope := dhDialogDatas.Data(); | 
|      | 
|       eventtypes := eventtypes.Difference( currentScope ); | 
|     } | 
|     else if( not dialogInstance.HasParent() ) // Is root level | 
|     { | 
|       eventtypes := selectset( owner, RootEventType, et, et <> dialogInstance ); | 
|     } | 
|     else // Has Parent and Child | 
|     { | 
|       allEventTypes := selectset( owner, EventType, et, et <> dialogInstance ); | 
|       myChildren := selectset( dialogInstance, AllChildren.AsChildren, c, true ); | 
|      | 
|       eventtypes := allEventTypes.Difference( myChildren ); | 
|     } | 
|      | 
|     dhParentEventTypeSelection.Data( eventtypes.Copy() ); | 
|   *] | 
| } |