Quintiq file version 2.0 #parent: #root Method GetDateOfNextOccurrence ( output Date dateOfRecurrence_o, Date date_i ) as Date id:Method_LibCal_dlgEvent_GetDateOfNextOccurrence { #keys: '[131094.0.1729519603]' Body: [* date := date_i; timezone := this.GetCalendarTimeZone(); if( btnDaily.Pressed() ) { date := LibCal_RecurrencePatternDaily::GetDateOfNextOccurrence( dateOfRecurrence_o, date_i, [Number]edtEveryNrOfDays.Text(), ckbEveryWeekday.Checked() ); } else if( btnWeekly.Pressed() ) { earliestStart := date_i; date := LibCal_RecurrencePatternWeekly::GetDateOfNextOccurrence( timezone, dateOfRecurrence_o, date_i, durStartTimeOfDay.Duration(), durEndTimeOfDay.Duration(), vhDuration.Data(), earliestStart, [Number]edtEveryNrOfWeeks.Text(), btnMonday .Pressed(), btnTuesday .Pressed(), btnWednesday.Pressed(), btnThursday .Pressed(), btnFriday .Pressed(), btnSaturday .Pressed(), btnSunday .Pressed() ); } 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::GetDateOfNextOccurrence( dateOfRecurrence_o, date_i, [Number]everyNrOfMonths, ckbMonthlyDay.Checked(), day, ssMonthlyPatternWeekOfMonth.BoundValue(), ssMonthlyPatternDayOfWeek.BoundValue() ); } } else if( btnYearly.Pressed() ) { date := LibCal_RecurrencePatternYearly::GetDateOfNextOccurrence( dateOfRecurrence_o, date_i, [Number]edtEveryNrOfYears.Text(), ckbYearlyDay.Checked(), [Number]ssYearlyDayOfMonth.BoundValue(), ssYearlyPatternWeekOfMonth.BoundValue(), ssYearlyPatternDayOfWeek.BoundValue() ); } return date; *] }