Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method InitializeDuration () id:Method_LibCal_dlgEvent_InitializeDuration 
 | 
{ 
 | 
  #keys: '[131094.0.2033101498]' 
 | 
  Body: 
 | 
  [* 
 | 
    sEvent         := dhEvent.Data(); 
 | 
    sParticipation := dhLeadingParticipation.Data(); 
 | 
    timezone       := TimeZone::UTCTimeZone();  // Use the UTC-timezone here, don't correct for a specific timezone. 
 | 
     
 | 
    // Don't use AddAsPeriod here, the 'nett' duration should be calculated here. 
 | 
    start    := sParticipation.StartDate().Add( timezone, sEvent.StartTimeOfDay() ); 
 | 
    end      := sParticipation.EndDate()  .Add( timezone, sEvent.EndTimeOfDay()   ); 
 | 
    duration := Duration::Zero(); 
 | 
       
 | 
    // Keep zero in case of negative duration (should not happen). 
 | 
    if( end > start ) 
 | 
    { 
 | 
      duration := end - start; 
 | 
    } 
 | 
     
 | 
    // Update the DataHolder, which will update the labels that show the duration. 
 | 
    dhDuration.Data( duration ); 
 | 
  *] 
 | 
} 
 |