| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod EditDaemonProperties (MDSObject mdsObject_i, String daemonName_i, Boolean isEnabled_i,  | 
|   Duration frequency_i, DateTime startTime_i) | 
| { | 
|   Description: 'Generic method for modifying Daemon configuration.' | 
|   TextBody: | 
|   [* | 
|     // Jacky CHAN May-3-2016 (created) | 
|     daemon := select( mdsObject_i, MDSObjectDaemons, daemon, daemon.Name() = daemonName_i ); | 
|      | 
|     if( not isnull( daemon ) ) | 
|     { | 
|       if( isEnabled_i ) | 
|       { | 
|         // Set according to the dataset's Timezone | 
|         // GMT is used when the dataset has no timezone | 
|         timezoneID := ifexpr( TimeZone::HasTimeZoneSupport(), mdsObject_i.TimezoneID(), "GMT" ); | 
|         timezone   := TimeZone::Construct( timezoneID ); | 
|          | 
|         daemon.LocalFrequency( frequency_i ); | 
|         daemon.LocalStartDate( startTime_i.Date( timezone ) ); | 
|         daemon.LocalStartTimeOfDay( startTime_i.TimeOfDay( timezone ) ); | 
|      | 
|         LibDEF_Util::Log( "Daemon '" + daemonName_i + "' has been enabled with [Frequency: " + LibDEF_Util::GetLoggerDurationToString().Convert( frequency_i ) +  | 
|                                                                             ", Start-time: " + LibDEF_Util::GetLoggerDateTimeToString().Convert( startTime_i ) + "]." ); | 
|       } | 
|       else | 
|       { | 
|         daemon.LocalFrequency( Duration::Zero() ); | 
|      | 
|         LibDEF_Util::Log( "Daemon '" + daemonName_i + "' has been disabled." ); | 
|       } | 
|     } | 
|     else | 
|     { | 
|       LibDEF_Util::Log( "Daemon '" + daemonName_i + "' is not updated; the Daemon cannot be found." ); | 
|     } | 
|   *] | 
| } |