Quintiq file version 2.0 #parent: #root Method UpdateDuration () id:Method_LibCal_dlgEvent_UpdateDuration { #keys: '[131092.0.2119796120]' Body: [* // Calculate the duration based on the values of the date- and time-controls. timezone := TimeZone::UTCTimeZone(); // Use the UTC-timezone here, don't correct for a specific timezone. duration := dhDuration.Data(); if( dsStartDate.Date().IsFinite() and durStartTimeOfDay.Duration().IsFinite() and dsEndDate .Date().IsFinite() and durEndTimeOfDay .Duration().IsFinite() ) { // Don't use AddAsPeriod here, the 'nett' duration should be calculated here. start := dsStartDate.Date().Add( timezone, durStartTimeOfDay.Duration() ); end := dsEndDate .Date().Add( timezone, durEndTimeOfDay .Duration() ); duration := end - start; } // Update the DataHolder, which will update the labels that show the duration (when not in days only mode). dhDuration.Data( duration ); *] }