Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method ShowAllDay () id:Method_LibCal_dlgEditTimeInterval_ShowAllDay 
 | 
{ 
 | 
  #keys: '[131094.0.1823258814]' 
 | 
  Body: 
 | 
  [* 
 | 
    if( ckbIsAllDay.Checked() ) 
 | 
    { 
 | 
      // Update the EndDate before updating the StartTime, otherwise setting the StartTime can already have influenced the EndDate. 
 | 
      if( durEndTimeOfDay.Duration() <> Duration::Zero() ) 
 | 
      { 
 | 
        durEndTimeOfDay.Duration( Duration::Zero() ); 
 | 
        datEndDate.Date( datEndDate.Date() + 1 ); 
 | 
      } 
 | 
     
 | 
      // Set to whole day if this is not yet the case. 
 | 
      if( durStartTimeOfDay.Duration() <> Duration::Zero() ) 
 | 
      { 
 | 
        durStartTimeOfDay.Duration( Duration::Zero() ); 
 | 
      } 
 | 
     
 | 
      durStartTimeOfDay.Enabled( false ); 
 | 
      durEndTimeOfDay  .Enabled( false ); 
 | 
    } 
 | 
    else 
 | 
    { 
 | 
      // Restore original values. These have been captured when they were changed. 
 | 
      if( durStartTimeOfDay.Duration() <> vhStartTimeOfDay.Data() ) 
 | 
      { 
 | 
        durStartTimeOfDay.Duration( vhStartTimeOfDay.Data() ); 
 | 
      } 
 | 
       
 | 
      if( durEndTimeOfDay.Duration() <> vhEndTimeOfDay.Data() ) 
 | 
      { 
 | 
        durEndTimeOfDay.Duration( vhEndTimeOfDay.Data()   ); 
 | 
     
 | 
        // During initialization, just take over the value from the DataHolder. 
 | 
        endDate := datEndDate.Date(); 
 | 
        if( endDate.IsInfinite() ) 
 | 
        { 
 | 
          endDate := vhEndDate.Data(); 
 | 
        } 
 | 
        // See if the EndDate must be corrected. 
 | 
        else if( vhEndTimeOfDay.Data() <> Duration::Zero() ) 
 | 
        { 
 | 
          endDate := endDate - 1; 
 | 
        } 
 | 
        datEndDate.Date( endDate ); 
 | 
      } 
 | 
     
 | 
      durStartTimeOfDay.Enabled( true ); 
 | 
      durEndTimeOfDay  .Enabled( true ); 
 | 
    } 
 | 
  *] 
 | 
} 
 |