/// <summary> /// Initializes a new instance of the <see cref="CronObject"/> class. /// </summary> /// <param name="cronObjectDataContext">The cron object data context.</param> public CronObject(CronObjectDataContext cronObjectDataContext) { if (cronObjectDataContext == null) { throw new ArgumentNullException("cronObjectDataContext"); } if (cronObjectDataContext.Object == null) { throw new ArgumentException("cronObjectDataContext.Object"); } if (cronObjectDataContext.CronSchedules == null || cronObjectDataContext.CronSchedules.Count == 0) { throw new ArgumentException("cronObjectDataContext.CronSchedules"); } _cronObjectDataContext = cronObjectDataContext; }
/// <summary> /// Initializes a new instance of the <see cref="CronObject"/> class. /// </summary> /// <param name="cronObjectDataContext">The cron object data context.</param> public CronObject(CronObjectDataContext cronObjectDataContext) { if (cronObjectDataContext == null) { throw new ArgumentNullException("cronObjectDataContext"); } if (cronObjectDataContext.Object == null) { throw new ArgumentException("cronObjectDataContext.Object"); } if (cronObjectDataContext.CronSchedules == null || cronObjectDataContext.CronSchedules.Count == 0) { throw new ArgumentException("cronObjectDataContext.CronSchedules"); } _cronObjectDataContext = cronObjectDataContext; }
public void UpdateCronObjects() { CloseTriggers(); var triggers = Dao.Query<Trigger>(); foreach (var trigger in triggers) { var dataContext = new CronObjectDataContext(new List<CronSchedule> { CronSchedule.Parse(trigger.Expression) }) { Object = trigger, LastTrigger = trigger.LastTrigger }; var cronObject = new CronObject(dataContext); cronObject.OnCronTrigger += OnCronTrigger; _cronObjects.Add(cronObject); } _cronObjects.ForEach(x => x.Start()); }