| Quintiq file version 2.0 | 
| #parent: #root | 
| Method ValuesDatesOK () as Boolean id:Method_LibCal_dlgEvent_ValuesDatesOK | 
| { | 
|   #keys: '[131094.0.1653647746]' | 
|   Body: | 
|   [* | 
|     feedback := FeedbackObject::LocalFeedback(); | 
|     timezone := this.GetCalendarTimeZone(); | 
|      | 
|     if( datStartDate.Date().IsInfinite() ) | 
|     { | 
|       feedback.AddHard( Translations::Event_InvalidStartDate() ); | 
|     } | 
|      | 
|     if( datEndDate.Date().IsInfinite() ) | 
|     { | 
|       feedback.AddHard( Translations::Event_InvalidEndDate() ); | 
|     } | 
|      | 
|     if( feedback.IsAllowed() ) | 
|     { | 
|       start := datStartDate.Date().DateTime( timezone ).AddAsPeriod( timezone, durStartTimeOfDay.Duration() ); | 
|       end   := datEndDate  .Date().DateTime( timezone ).AddAsPeriod( timezone, durEndTimeOfDay  .Duration() ); | 
|        | 
|       if( end <= start ) | 
|       { | 
|         feedback.AddHard( Translations::Event_EndMustBeGreaterThanStart() ); | 
|       } | 
|        | 
|       // End must be greater than StartOfCalendar. | 
|       startOfCalendar := dhLeadingParticipation.Data().Calendar().Start(); | 
|       if( end <= startOfCalendar ) | 
|       { | 
|         convOps := ConversionOptions::ISO(); | 
|         feedback.AddHard( Translations::Event_EndMustBeGreaterThanStartOfCalendar( end            .Format( Translations::DateTimeFormat(), convOps ), | 
|                                                                                    startOfCalendar.Format( Translations::DateTimeFormat(), convOps ) ) );  | 
|       } | 
|     } | 
|      | 
|     return feedback.IsAllowed(); | 
|   *] | 
| } |