/// <summary> /// Create a CronScheduleBuilder with a cron-expression that sets the /// schedule to fire at the given day at the given time (hour and minute) on the given days of the week. /// </summary> /// <param name="hour">the hour of day to fire</param> /// <param name="minute">the minute of the given hour to fire</param> /// <param name="daysOfWeek">the days of the week to fire</param> /// <returns>the new CronScheduleBuilder</returns> /// <seealso cref="CronExpression" /> public static CronScheduleBuilder AtHourAndMinuteOnGivenDaysOfWeek(int hour, int minute, params DayOfWeek[] daysOfWeek) { if (daysOfWeek == null || daysOfWeek.Length == 0) { throw new ArgumentException("You must specify at least one day of week."); } DateBuilder.ValidateHour(hour); DateBuilder.ValidateMinute(minute); string cronExpression = string.Format("0 {0} {1} ? * {2}", minute, hour, ((int)daysOfWeek[0]) + 1); for (int i = 1; i < daysOfWeek.Length; i++) { cronExpression = cronExpression + "," + (((int)daysOfWeek[i]) + 1); } return(CronScheduleNoParseException(cronExpression)); }