Quintiq file version 2.0 #parent: #root Method GetDateOfFirstRecurrence ( Date startOfPeriod_i ) as Date id:Method_LibCal_dlgEvent_GetDateOfFirstRecurrence { #keys: '[131092.1.1290429]' Accessibility: 'Public' Body: [* date := Date::MinDate(); earliestStart := startOfPeriod_i; patternType := this.GetPatternType(); timezone := this.GetCalendarTimeZone(); if( patternType = LibCal_RecurrencePattern::TYPE_DAILY() ) { date := LibCal_RecurrencePatternDaily::GetDateOfFirstRecurrence( startOfPeriod_i, earliestStart, [Number]edtEveryNrOfDays.Text(), ckbEveryWeekday.Checked() ); } else if( patternType = LibCal_RecurrencePattern::TYPE_WEEKLY() ) { date := LibCal_RecurrencePatternWeekly::GetDateOfFirstRecurrence( startOfPeriod_i, earliestStart, [Number]edtEveryNrOfWeeks.Text() ); } else if( patternType = LibCal_RecurrencePattern::TYPE_MONTHLY() ) { // 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() ); /* BUG: referencing the DropDownStringLists results in an error in the TCE !!! // As a WORKAROUND, the values are also set in a hidden label, which càn be used here. weekOfMonth := ssMonthlyPatternWeekOfMonth.Text(); dayOfWeek := ssMonthlyPatternDayOfWeek.Text(); */ weekOfMonth := lblMonthlyPatternWeekOfMonth.Text(); dayOfWeek := lblMonthlyPatternDayOfWeek.Text(); date := LibCal_RecurrencePatternMonthly::GetDateOfFirstRecurrence( timezone, startOfPeriod_i, durStartTimeOfDay.Duration(), durEndTimeOfDay.Duration(), dhDuration.Data(), earliestStart, [Number]everyNrOfMonths, ckbMonthlyDay.Checked(), day, weekOfMonth, dayOfWeek ); } } else if( patternType = LibCal_RecurrencePattern::TYPE_YEARLY() ) { /* BUG: referencing the DropDownStringLists results in an error in the TCE !!! // As a WORKAROUND, the values are also set in a hidden label, which càn be used here. month := ifexpr( ckbYearlyDate.Checked(), ssYearlyMonth.Text(), ssYearlyPatternMonth.Text() ); nrOfMonth := this.GetNrOfMonth( month ); dayOfMonth := [Number]ssYearlyDayOfMonth.Text(); weekOfMonth := ssYearlyPatternWeekOfMonth.Text(); dayOfWeek := ssYearlyPatternDayOfWeek.Text(); */ month := ifexpr( ckbYearlyDay.Checked(), lblYearlyMonth.Text(), lblYearlyPatternMonth.Text() ); nrOfMonth := this.GetNrOfMonth( month ); dayOfMonth := [Number]lblYearlyDayOfMonth.Text(); weekOfMonth := lblYearlyPatternWeekOfMonth.Text(); dayOfWeek := lblYearlyPatternDayOfWeek.Text(); date := LibCal_RecurrencePatternYearly::GetDateOfFirstRecurrence( timezone, startOfPeriod_i, durStartTimeOfDay.Duration(), durEndTimeOfDay.Duration(), dhDuration.Data(), earliestStart, [Number]edtEveryNrOfYears.Text(), nrOfMonth, ckbYearlyDay.Checked(), dayOfMonth, weekOfMonth, dayOfWeek ); } return date; *] UseInheritedAccessibility: false }