Quintiq file version 2.0
|
#parent: #root
|
Method AddSubscription (
|
LibCal_Calendar subscriber_i,
|
Boolean useLeadingPeriod_i
|
) as LibCal_Subscription
|
{
|
Description: 'Let subscriber_i subscribe to the Participation by creating a copy of it and registering it as Subscription.'
|
TextBody:
|
[*
|
subscription := null( LibCal_Subscription );
|
|
// Don't add a subscripton to self (safe-guard).
|
if( this.Calendar() <> subscriber_i )
|
{
|
// Create a subscription for calendar_i, including the RecurrencePeriod if applicable.
|
includingPeriod := not useLeadingPeriod_i;
|
subscription := LibCal_Subscription::Create( subscriber_i, this, includingPeriod );
|
subscription.UseLeadingPeriod( useLeadingPeriod_i );
|
|
// Register as subscription of the current LeadingParticipation.
|
this.Subscription( relinsert, subscription );
|
|
// Copy all occurrences of the LeadingParticipation.
|
// The ones that are not applicable will be removed later on, if necessary.
|
subscription.CopyOccurrences();
|
}
|
|
return subscription;
|
*]
|
InterfaceProperties { Accessibility: 'Module' }
|
}
|