| 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; | 
|   *] | 
| } |