| Quintiq file version 2.0 | 
| #parent: #root | 
| Method UpdateRecurrencePattern ( | 
|   Boolean isRecurring_i, | 
|   String patternType_i, | 
|   Number recurrenceInterval_i, | 
|   Boolean daily_IsEveryDay_i, | 
|   String weekly_Weekdays_i, | 
|   Boolean monthly_IsDay_i, | 
|   Number monthly_Day_i, | 
|   String monthly_WeekOfMonth_i, | 
|   String monthly_DayOfWeek_i, | 
|   Boolean yearly_IsDate_i, | 
|   Number yearly_Month_i, | 
|   Number yearly_Day_i, | 
|   String yearly_WeekOfMonth_i, | 
|   String yearly_DayOfWeek_i | 
| ) | 
| { | 
|   TextBody: | 
|   [* | 
|     if( not isRecurring_i ) | 
|     { | 
|       // Remove the RecurrencePattern. | 
|       this.RemoveRecurrencePattern(); | 
|     } | 
|     else | 
|     { | 
|       // Set a RecurrencePattern of the applicable type. | 
|        | 
|       if( patternType_i = LibCal_RecurrencePattern::TYPE_DAILY() ) | 
|       { | 
|         this.SetRecurrencePatternDaily( daily_IsEveryDay_i ); | 
|       } | 
|      | 
|       else if( patternType_i = LibCal_RecurrencePattern::TYPE_WEEKLY() ) | 
|       { | 
|         this.SetRecurrencePatternWeekly( weekly_Weekdays_i ); | 
|       } | 
|        | 
|       else if( patternType_i = LibCal_RecurrencePattern::TYPE_MONTHLY() ) | 
|       { | 
|         if( monthly_IsDay_i ) | 
|         { | 
|           this.SetRecurrencePatternMonthly( monthly_Day_i ); | 
|         } | 
|         else | 
|         { | 
|           this.SetRecurrencePatternMonthly( monthly_WeekOfMonth_i, monthly_DayOfWeek_i ); | 
|         } | 
|       } | 
|        | 
|       else if( patternType_i = LibCal_RecurrencePattern::TYPE_YEARLY() ) | 
|       { | 
|         if( yearly_IsDate_i ) | 
|         { | 
|           this.SetRecurrencePatternYearly( yearly_Month_i, yearly_Day_i ); | 
|         } | 
|         else | 
|         { | 
|           this.SetRecurrencePatternYearly( yearly_Month_i, yearly_WeekOfMonth_i, yearly_DayOfWeek_i ); | 
|         } | 
|       } | 
|        | 
|       else | 
|       { | 
|         LibCal_Util::Info( "LibCal_Event.UpdateRecurrencePattern() : unexpected PatternType '" + patternType_i + "' encountered." );  | 
|       } | 
|        | 
|       // Finally, set the recurrence interval. | 
|       this.SetRecurrenceInterval( recurrenceInterval_i ); | 
|     } | 
|      | 
|     // Directly update the relation from the Participations to the RecurrencePattern. | 
|     Transaction::Transaction().Propagate( relation( LibCal_Participation, RecurrencePattern ) ); | 
|   *] | 
|   InterfaceProperties { Accessibility: 'Extensible' } | 
| } |