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()); }
public IExecutionTimeSpecification CreateForPolicy(PeriodicityPolicy policy) { return(new SpecificExecutionTimeSpecification(this._executionTime)); }