Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method SetParticipationData () id:Method_LibCal_dlgEvent_SetParticipationData 
 | 
{ 
 | 
  #keys: '[131094.1.110552282]' 
 | 
  Body: 
 | 
  [* 
 | 
    sParticipation := dhLeadingParticipation.Data(); 
 | 
     
 | 
    // If the StartDate is earlier than the start of the CalendarWindow, then set the StartDate 
 | 
    // to the date of the first recurrence within the CalendarWindow. 
 | 
    // This prevents showing dates from potentially long in the past. 
 | 
    startDate := sParticipation.StartDate(); 
 | 
    if( sParticipation.IsRecurring() and 
 | 
        startDate < sParticipation.Calendar().StartDate() ) 
 | 
    { 
 | 
      dateOfFirstRecurrence := this.GetDateOfFirstRecurrence( sParticipation.Calendar().StartDate() ); 
 | 
      startDate             := this.GetDateOfNextOccurrence( dateOfFirstRecurrence, dateOfFirstRecurrence ); 
 | 
    } 
 | 
     
 | 
    delta := startDate - sParticipation.StartDate(); 
 | 
     
 | 
    // Only the value of the following two controls have to be set explicitly (in this order!), 
 | 
    // the value of the other controls are then set via the responses of these controls. 
 | 
    dhEndDate  .Data( sParticipation.EndDate() + delta ); 
 | 
    dsStartDate.Date( startDate ); 
 | 
     
 | 
    // Directly initialize the Duration 
 | 
    this.InitializeDuration(); 
 | 
  *] 
 | 
} 
 |