Quintiq file version 2.0 
 | 
#parent: #root 
 | 
StaticMethod GetDateOfNextOccurrence ( 
 | 
  output Date dateOfRecurrence_o, 
 | 
  Date date_i, 
 | 
  Number recurrenceInterval_i, 
 | 
  Boolean isEveryWeekday_i 
 | 
) declarative remote as Date 
 | 
{ 
 | 
  TextBody: 
 | 
  [* 
 | 
    date := date_i; 
 | 
     
 | 
    if( not isEveryWeekday_i ) 
 | 
    { 
 | 
      // Next occurrence is next recurrence. 
 | 
      // Don't get the next recurrence yet the first time. 
 | 
      if( date_i <> dateOfRecurrence_o ) 
 | 
      { 
 | 
        dateOfRecurrence_o := LibCal_RecurrencePatternDaily::GetDateOfNextRecurrence( dateOfRecurrence_o, recurrenceInterval_i, isEveryWeekday_i ); 
 | 
        date := dateOfRecurrence_o; 
 | 
      } 
 | 
    } 
 | 
    else 
 | 
    { 
 | 
      // Skip Saturdays and Sundays. 
 | 
      // dateOfRecurrence_o is not relevant because RecurrenceInterval is not used. 
 | 
      if( date.DayOfWeek() = saturday or 
 | 
          date.DayOfWeek() = sunday ) 
 | 
      { 
 | 
        date := date.StartOfNextWeek(); 
 | 
      } 
 | 
    } 
 | 
     
 | 
    return date; 
 | 
  *] 
 | 
} 
 |