Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method InitializeSubscribers () id:Method_FormCalendarUnavailableEvent_InitializeSubscribers 
 | 
{ 
 | 
  #keys: '[415136.0.666291565]' 
 | 
  Body: 
 | 
  [* 
 | 
     
 | 
    owner_i := LibCal_GlobalState.dhGlobalCalendarRegistry().Data().CommonCalendar(); 
 | 
     
 | 
    category_i := selectobject( owner_i,CalendarRegistry.EventCategory, category, category.Name() = 'Unavaliable' ); 
 | 
     
 | 
    sEvent := owner_i.Event( relshadow, 
 | 
                             EventID        := [String]Key::NextPersistentKey(), 
 | 
    //                         StartTimeOfDay := start_i.TimeOfDay( timezone ), 
 | 
    //                         EndTimeOfDay   := end_i  .TimeOfDay( timezone ), 
 | 
                             EventCategory  := category_i, 
 | 
                             IsDefault      := false ); 
 | 
     
 | 
    sLeadPart := owner_i.Participation( relshadow, LibCal_LeadingParticipation, 
 | 
                                        ParticipationID := [String]Key::NextPersistentKey() 
 | 
    //                                    ,StartDate       := start_i.Date( timezone ), 
 | 
    //                                    EndDate         := end_i  .Date( timezone )  
 | 
                                        ); 
 | 
     
 | 
    calendar             := sLeadPart.Calendar(); 
 | 
    potentialSubscribers := calendar.GetPotentialSubscribers(); 
 | 
     
 | 
    period := MacroPlan.LibCal_SubscriberEventSearch( relnew, Start := Date::MinDate(), End := Date::MaxDate() ); 
 | 
     
 | 
    dhDate.Data( period ); 
 | 
    // Remove the calendar of the initiator (cannot subscribe to self). 
 | 
    initiator := sEvent.Calendar(); 
 | 
    if( potentialSubscribers.Find( initiator ) >= 0 ) 
 | 
    { 
 | 
      potentialSubscribers.Remove( initiator ); 
 | 
    } 
 | 
     
 | 
    dhPotentialSubscribers.Data( &potentialSubscribers ); 
 | 
     
 | 
    lstSubscribers.CheckAll(); 
 | 
    ListCalendarEventTypes.CheckAll(); 
 | 
  *] 
 | 
} 
 |