| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod Create ( | 
|   LibCal_Calendar owner_i, | 
|   LibCal_LeadingParticipation leadingParticipation_i, | 
|   Boolean includingPeriod_i | 
| ) as LibCal_Subscription | 
| { | 
|   TextBody: | 
|   [* | 
|     // Create a Subscription by creating a copy of the LeadingParticipation, with a unique ID. | 
|     subscription := owner_i.Participation( relcopy, leadingParticipation_i, LibCal_Subscription, | 
|                                            ParticipationID := [String]Key::NextPersistentKey(), | 
|                                            IsLeading       := false, | 
|                                            IsSubscription  := true ); | 
|      | 
|     // Set the relation with the Event. | 
|     subscription.Event( relset, leadingParticipation_i.Event() ); | 
|      | 
|     // If applicable, also copy the RecurrencePeriod. | 
|     if( includingPeriod_i ) | 
|     { | 
|       period := leadingParticipation_i.RecurrencePeriod().ShallowCopy().astype( LibCal_RecurrencePeriod ); | 
|       subscription.RecurrencePeriod( relset, &period ); | 
|     } | 
|      | 
|     return subscription; | 
|   *] | 
|   InterfaceProperties { Accessibility: 'Module' } | 
| } |