/// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="chaosParameters">Name of the chaos parameters</param>
 /// <param name="time">ChaosScheduleTimeRangeUtc of when chaos will run for.</param>
 public ChaosScheduleItem(int jobIndex, string chaosParameters, ChaosScheduleTimeRangeUtc time)
 {
     this.JobIndex        = jobIndex;
     this.ChaosParameters = chaosParameters;
     this.Time            = time;
 }
Beispiel #2
0
        private static void VerifyChaosScheduleTimeRangeUtc(ChaosScheduleTimeRangeUtc timerange)
        {
            if (timerange.StartTime == null)
            {
                throw new System.ArgumentNullException(
                          "StartTime",
                          StringResources.ChaosScheduler_ScheduleJobTimeIsNull);
            }

            if (timerange.EndTime == null)
            {
                throw new System.ArgumentNullException(
                          "EndTime",
                          StringResources.ChaosScheduler_ScheduleJobTimeIsNull);
            }

            ChaosSchedulerUtil.VerifyChaosScheduleTimeUtc(timerange.StartTime);
            ChaosSchedulerUtil.VerifyChaosScheduleTimeUtc(timerange.EndTime);

            if (timerange.StartTime > timerange.EndTime)
            {
                throw new System.ArgumentException(
                          string.Format(
                              StringResources.ChaosScheduler_ScheduleJobStartTimeAfterEndTime,
                              timerange.StartTime.ToString(),
                              timerange.EndTime.ToString()),
                          "StartTime");
            }

            if (timerange.StartTime < ChaosScheduleTimeUtc.StartOfDay)
            {
                throw new System.ArgumentException(
                          string.Format(
                              StringResources.ChaosScheduler_ScheduleJobStartTimeBeforeStartOfDay,
                              timerange.StartTime.ToString(),
                              ChaosScheduleTimeUtc.StartOfDay.ToString()),
                          "StartTime");
            }

            if (timerange.StartTime > ChaosScheduleTimeUtc.EndOfDay)
            {
                throw new System.ArgumentException(
                          string.Format(
                              StringResources.ChaosScheduler_ScheduleJobStartTimeAfterEndOfDay,
                              timerange.StartTime.ToString(),
                              ChaosScheduleTimeUtc.EndOfDay.ToString()),
                          "StartTime");
            }

            if (timerange.EndTime < ChaosScheduleTimeUtc.StartOfDay)
            {
                throw new System.ArgumentException(
                          string.Format(
                              StringResources.ChaosScheduler_ScheduleJobEndTimeBeforeStartOfDay,
                              timerange.EndTime.ToString(),
                              ChaosScheduleTimeUtc.StartOfDay.ToString()),
                          "EndTime");
            }

            if (timerange.EndTime > ChaosScheduleTimeUtc.EndOfDay)
            {
                throw new System.ArgumentException(
                          string.Format(
                              StringResources.ChaosScheduler_ScheduleJobEndTimeAfterEndOfDay,
                              timerange.EndTime.ToString(),
                              ChaosScheduleTimeUtc.EndOfDay.ToString()),
                          "EndTime");
            }
        }