Quintiq file version 2.0
|
#parent: #root
|
Method UpdateDuration () id:Method_LibCal_dlgEvent_UpdateDuration
|
{
|
#keys: '[131094.0.992053406]'
|
Body:
|
[*
|
duration := Duration::Zero();
|
timezone := TimeZone::UTCTimeZone(); // Use the UTC-timezone here, don't correct for a specific timezone.
|
|
// Always use the controls on pnlIsNotRecurring for calculating the duration, also in case of recurrence.
|
// These controls are always kept up-to-date, also when the time-controls on pnlIsRecurring are changed.
|
if( datStartDate.Date().IsFinite() and durStartTimeOfDay.Duration().IsFinite() and
|
datEndDate .Date().IsFinite() and durEndTimeOfDay .Duration().IsFinite() )
|
{
|
// Don't use AddAsPeriod here, the 'nett' duration should be calculated here.
|
start := datStartDate.Date().Add( timezone, durStartTimeOfDay.Duration() );
|
end := datEndDate .Date().Add( timezone, durEndTimeOfDay .Duration() );
|
|
duration := end - start;
|
}
|
|
// When running in days only mode, ceil the duration to a full day.
|
if( LibCal_Event::USE_ONLY_DAYS() )
|
{
|
duration := duration.Ceil( Duration::Days( 1 ) );
|
}
|
|
// Update the ValueHolder, which will update the labels that show the duration.
|
vhDuration.Data( duration );
|
*]
|
}
|