示例#1
0
        public IExecutionTimeSpecification CreateForPolicy(PeriodicityPolicy policy)
        {
            switch (policy.PolicyType)
            {
            case PeriodicityPolicyType.Once:
                return(new SingleShotExecutionTimeSpecification());

            case PeriodicityPolicyType.Hourly:
                return(new MinuteOfHourExecutionTimeSpecification(policy.MinuteOfHour ?? DefaultMinuteOfHour));

            case PeriodicityPolicyType.Daily:
                return(new HourOfDayExecutionTimeSpecification(policy.HourOfDay ?? DefaultHourOfDay, policy.MinuteOfHour ?? DefaultMinuteOfHour));

            case PeriodicityPolicyType.Weekly:
                return(new DayOfWeekExecutionTimeSpecification(policy.DayOfWeek ?? DefaultDayOfWeek, policy.HourOfDay ?? DefaultHourOfDay, policy.MinuteOfHour ?? DefaultMinuteOfHour));

            case PeriodicityPolicyType.Monthly:
                return(new DayOfMonthExecutionTimeSpecification(policy.DayOfMonth ?? DefaultDayOfMonth, policy.HourOfDay ?? DefaultHourOfDay, policy.MinuteOfHour ?? DefaultMinuteOfHour));

            case PeriodicityPolicyType.Annually:
                return(new DayOfYearExecutionTimeSpecification(policy.MonthOfYear ?? DefaultMonthOfYear, policy.DayOfMonth ?? DefaultDayOfMonth, policy.HourOfDay ?? DefaultHourOfDay, policy.MinuteOfHour ?? DefaultMinuteOfHour));

            default:
                throw new NotImplementedException("Unhandled enum value");
            }
        }
 public IExecutionTimeSpecification CreateForPolicy(PeriodicityPolicy policy)
 {
     return(new SingleShotExecutionTimeSpecification());
 }
示例#3
0
 public IExecutionTimeSpecification CreateForPolicy(PeriodicityPolicy policy)
 {
     return(new SpecificExecutionTimeSpecification(this._executionTime));
 }