/// <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;
 }
Beispiel #2
0
 /// <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;
 }
Beispiel #3
0
        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());
        }