class Schedule
{
public static void SetTimeJobSchedule(SPJobDefinition timerJob, ScheduleType type, int begin, int end, int week, int interval)
{
switch (type)
{
case ScheduleType.Weekly:
SPWeeklySchedule weeklySchedule = new SPWeeklySchedule();
weeklySchedule.BeginDayOfWeek = (DayOfWeek)week;
weeklySchedule.BeginHour = begin;
weeklySchedule.EndHour = end;
timerJob.Schedule = weeklySchedule;
break;
case ScheduleType.Daily:
SPDailySchedule dailySchedule = new SPDailySchedule();
dailySchedule.BeginHour = begin;
dailySchedule.EndHour = end;
timerJob.Schedule = dailySchedule;
break;
case ScheduleType.Hourly:
SPHourlySchedule hourlySchedule = new SPHourlySchedule();
hourlySchedule.BeginMinute = begin;
hourlySchedule.EndMinute = end;
timerJob.Schedule = hourlySchedule;
break;
case ScheduleType.Minute:
SPMinuteSchedule minuteSchedule = new SPMinuteSchedule();
minuteSchedule.BeginSecond = begin;
minuteSchedule.EndSecond = end;
minuteSchedule.Interval = interval;
timerJob.Schedule = minuteSchedule;
break;
default:
break;
}
timerJob.Update();
}
}
public enum ScheduleType
{
Weekly,
Daily,
Hourly,
Minute
}