| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod CreateUpdate ( | 
|   LibCal_Calendars subscribers_i, | 
|   LibCal_Event subscribeTo_i, | 
|   LibCal_Subscription subscription_i, | 
|   Boolean useLeadingPeriod_i, | 
|   Boolean isRecurring_i, | 
|   String periodType_i, | 
|   Date startOfPeriod_i, | 
|   Number nrOfOccurrences_i, | 
|   Date endOfPeriod_i | 
| ) | 
| { | 
|   Description: 'Update and existing subscription if it is provided, otherwise create (a) new subscription(s).' | 
|   TextBody: | 
|   [* | 
|     subscription := subscription_i; | 
|      | 
|     if( not isnull( subscription ) ) | 
|     { | 
|       // An existing subscription was edited. | 
|       subscription.UpdateSubscription( useLeadingPeriod_i, isRecurring_i, periodType_i, startOfPeriod_i, nrOfOccurrences_i, endOfPeriod_i ); | 
|     } | 
|     else | 
|     { | 
|       // Create a new subscription for each subscriber. | 
|       traverse( subscribers_i, Elements, subscriber ) | 
|       { | 
|         subscription := subscriber.SubscribeToEvent( subscribeTo_i ); | 
|         subscription.UpdateSubscription( useLeadingPeriod_i, isRecurring_i, periodType_i, startOfPeriod_i, nrOfOccurrences_i, endOfPeriod_i ); | 
|       } | 
|     } | 
|   *] | 
|   InterfaceProperties { Accessibility: 'Module' } | 
| } |