Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method GetDateOfFirstRecurrence ( 
 | 
  Date startOfPeriod_i 
 | 
) as Date id:Method_LibCal_dlgEvent_GetDateOfFirstRecurrence 
 | 
{ 
 | 
  #keys: '[131094.0.1242728886]' 
 | 
  Body: 
 | 
  [* 
 | 
    date          := Date::MinDate(); 
 | 
    earliestStart := startOfPeriod_i; 
 | 
    timezone      := this.GetCalendarTimeZone(); 
 | 
     
 | 
    if( btnDaily.Pressed() ) 
 | 
    { 
 | 
      date := LibCal_RecurrencePatternDaily::GetDateOfFirstRecurrence( startOfPeriod_i, earliestStart, 
 | 
                                                                       [Number]edtEveryNrOfDays.Text(), 
 | 
                                                                       ckbEveryWeekday.Checked() ); 
 | 
    } 
 | 
     
 | 
    else if( btnWeekly.Pressed() ) 
 | 
    { 
 | 
      date := LibCal_RecurrencePatternWeekly::GetDateOfFirstRecurrence( startOfPeriod_i, earliestStart, [Number]edtEveryNrOfWeeks.Text() );   
 | 
    } 
 | 
     
 | 
    else if( btnMonthly.Pressed() ) 
 | 
    { 
 | 
      // Make sure that the entered day of the month is valid. 
 | 
      day := guard( [Number]edtMonthlyDay.Text(), 0 ); 
 | 
       
 | 
      if( day > 0 ) 
 | 
      { 
 | 
        everyNrOfMonths := ifexpr( ckbMonthlyDay.Checked(), edtMonthlyDayEveryNrOfMonths.Text(), 
 | 
                                                            edtMonthlyPatternEveryNrOfMonths.Text() ); 
 | 
                                                             
 | 
        date := LibCal_RecurrencePatternMonthly::GetDateOfFirstRecurrence( timezone, startOfPeriod_i, durStartTimeOfDay.Duration(), durEndTimeOfDay.Duration(), vhDuration.Data(),  
 | 
                                                                           earliestStart, [Number]everyNrOfMonths, 
 | 
                                                                           ckbMonthlyDay.Checked(), day, 
 | 
                                                                           ssMonthlyPatternWeekOfMonth.BoundValue(), ssMonthlyPatternDayOfWeek.BoundValue() ); 
 | 
      }                                                                     
 | 
    } 
 | 
     
 | 
    else if( btnYearly.Pressed() ) 
 | 
    { 
 | 
      month     := ifexpr( ckbYearlyDay.Checked(), ssYearlyMonth.BoundValue(), ssYearlyPatternMonth.BoundValue() );   
 | 
      nrOfMonth := this.GetNrOfMonth( month ); 
 | 
       
 | 
      date := LibCal_RecurrencePatternYearly::GetDateOfFirstRecurrence( timezone, startOfPeriod_i, durStartTimeOfDay.Duration(), durEndTimeOfDay.Duration(), vhDuration.Data(),  
 | 
                                                                        earliestStart, [Number]edtEveryNrOfYears.Text(), 
 | 
                                                                        nrOfMonth, ckbYearlyDay.Checked(), [Number]ssYearlyDayOfMonth.BoundValue(), 
 | 
                                                                        ssYearlyPatternWeekOfMonth.BoundValue(), ssYearlyPatternDayOfWeek.BoundValue() ); 
 | 
    } 
 | 
     
 | 
    return date; 
 | 
  *] 
 | 
} 
 |