public override void UpdateSchedule(ScheduleItem scheduleItem) { //Remove item from queue Scheduler.CoreScheduler.RemoveFromScheduleQueue(scheduleItem); //save item SchedulingController.UpdateSchedule(scheduleItem.ScheduleID, scheduleItem.TypeFullName, scheduleItem.TimeLapse, scheduleItem.TimeLapseMeasurement, scheduleItem.RetryTimeLapse, scheduleItem.RetryTimeLapseMeasurement, scheduleItem.RetainHistoryNum, scheduleItem.AttachToEvent, scheduleItem.CatchUpEnabled, scheduleItem.Enabled, scheduleItem.ObjectDependencies, scheduleItem.Servers, scheduleItem.FriendlyName); //Update items that are already scheduled var futureHistory = GetScheduleHistory(scheduleItem.ScheduleID).Cast <ScheduleHistoryItem>().Where(h => h.NextStart > DateTime.Now); foreach (var scheduleHistoryItem in futureHistory) { scheduleHistoryItem.NextStart = scheduleItem.NextStart; SchedulingController.UpdateScheduleHistory(scheduleHistoryItem); } //Add schedule to queue RunScheduleItemNow(scheduleItem); }
public static void UpdateScheduleHistory( ScheduleHistoryItem objScheduleHistoryItem ) { try { SchedulingController controller = new SchedulingController(); controller.UpdateScheduleHistory( objScheduleHistoryItem ); } catch( Exception exc ) { Exceptions.Exceptions.ProcessSchedulerException( exc ); } }