Quintiq file version 2.0
|
#parent: #root
|
Method SetEnd (
|
Date endDate_i,
|
Duration endTimeOfDay_i
|
) as LibCal_Event
|
{
|
Description: 'Set the end of the event.'
|
TextBody:
|
[*
|
// Ignore seconds.
|
endTimeOfDay := endTimeOfDay_i.Round( Duration::Minutes( 1 ) );
|
|
// Use a FeedbackObject the collect the validation feedback.
|
feedback := LibCal_Validate::FeedbackObject();
|
|
moreInfo := this.GetEventInfo() + ", EndTimeOfDay = " + endTimeOfDay.Format( Translations::DurationFormat() );
|
LibCal_Validate::RegisterError( LibCal_Validate::Event_EndTimeOfDay( endTimeOfDay ), moreInfo );
|
|
// Process the feedback that has been registered by the validation (if any).
|
LibCal_Util::ProcessFeedbackObject( feedback );
|
|
// The below is only executed when no validation errors were encountered.
|
if( not isnull( this.LeadingParticipation() ) )
|
{
|
// Set the End by setting the Duration.
|
// Timezone and Daylight Saving should NOT be taken into account here.
|
timezone := TimeZone::UTCTimeZone();
|
startTime := this.LeadingParticipation().StartDate().Add( timezone, this.StartTimeOfDay() );
|
endTime := endDate_i.Add( timezone, endTimeOfDay_i );
|
duration := endTime - startTime;
|
|
this.SetDuration( duration );
|
}
|
|
// Make the API fluent.
|
return this;
|
*]
|
}
|