Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method Synchronize ( 
 | 
  DateTime base_i, 
 | 
  Duration updateInterval_i, 
 | 
  Number window_i, 
 | 
  Number history_i, 
 | 
  Boolean isAlwaysAvailable_i 
 | 
) 
 | 
{ 
 | 
  Description: 'Synchronize the calendar, typically with the data of an integration object that is imported by the DIF.' 
 | 
  TextBody: 
 | 
  [* 
 | 
    // Only take over the settings when they have been provided. 
 | 
    if( base_i.IsFinite() 
 | 
     or window_i  <> 0 
 | 
     or history_i <> 0 
 | 
     or updateInterval_i <> Duration::Zero() ) 
 | 
    {  
 | 
      // First validate the settings. 
 | 
      // If something is wrong the validation results in an error so that the actual update below will not be executed. 
 | 
      // this.Update( ... ) is not called here, in order to postpone re-generation of occurrences only at the end of the synchronization. 
 | 
      this.Validate( base_i, updateInterval_i, window_i, history_i ); 
 | 
       
 | 
      this.Base(           base_i           ); 
 | 
      this.UpdateInterval( updateInterval_i ); 
 | 
      this.Window(         window_i         ); 
 | 
      this.History(        history_i        ); 
 | 
       
 | 
      // Subscribe to / unsubscribe from Event "Always available" if applicable. 
 | 
      this.SetIsAlwaysAvailable( isAlwaysAvailable_i ); 
 | 
    } 
 | 
  *] 
 | 
} 
 |