Пример #1
0
 private void UpdateEndTime()
 {
     // compute the latest procedure end time
     _endTime = MinMaxHelper.MaxValue(
         _procedures,
         delegate { return(true); },
         procedure => procedure.EndTime,
         null);
 }
Пример #2
0
 private void UpdateStartTime()
 {
     // compute the earliest procedure start time
     _startTime = MinMaxHelper.MinValue(
         _procedures,
         delegate { return(true); },
         procedure => procedure.StartTime,
         null);
 }
Пример #3
0
 /// <summary>
 /// Called by a child procedure to tell the order to update its scheduling information.
 /// </summary>
 protected internal virtual void UpdateScheduling()
 {
     // set the scheduled start time to the earliest non-null scheduled start time of any child procedure
     _scheduledStartTime = MinMaxHelper.MinValue(
         _procedures,
         delegate { return(true); },
         procedure => procedure.ScheduledStartTime,
         null);
 }
Пример #4
0
 private void UpdateEndTime()
 {
     // compute the latest procedure step end time
     _endTime = MinMaxHelper.MaxValue(
         _procedureSteps,
         ps => true,
         ps => ps.EndTime,
         null);
 }
Пример #5
0
 private void UpdateStartTime()
 {
     // compute the earliest procedure step start time
     _startTime = MinMaxHelper.MinValue(
         _procedureSteps,
         ps => !ps.IsPreStep,
         ps => ps.StartTime,
         null);
 }
Пример #6
0
        /// <summary>
        /// Called by child procedure steps to tell this procedure to update its scheduling information.
        /// </summary>
        protected internal virtual void UpdateScheduling()
        {
            // compute the earliest procedure step scheduled start time (exclude pre-steps)
            _scheduledStartTime = MinMaxHelper.MinValue(
                _procedureSteps,
                ps => !ps.IsPreStep,
                ps => ps.Scheduling == null ? null : ps.Scheduling.StartTime,
                null);

            // the order should never be null, unless this is a brand new instance that has not yet been assigned an order
            if (_order != null)
            {
                _order.UpdateScheduling();
            }
        }