/// <summary> /// Adds the specified event to the schedule /// </summary> /// <param name="scheduledEvent">The event to be scheduled, including the date/times the event fires and the callback</param> public void Add(ScheduledEvent scheduledEvent) { if (_algorithm != null) { scheduledEvent.SkipEventsUntil(_algorithm.UtcTime); } _scheduledEvents.AddOrUpdate(scheduledEvent.Name, scheduledEvent); }
public void SkipsEventsUntilTime() { int count = 0; var time = new DateTime(2015, 08, 11, 10, 30, 0); var sevent = new ScheduledEvent("test", new[] { time.AddSeconds(-2), time.AddSeconds(-1), time }, (n, t) => count++); // skips all preceding events, not including the specified time sevent.SkipEventsUntil(time); Assert.AreEqual(time, sevent.NextEventUtcTime); }
/// <summary> /// Adds the specified event to the schedule /// </summary> /// <param name="scheduledEvent">The event to be scheduled, including the date/times the event fires and the callback</param> public void Add(ScheduledEvent scheduledEvent) { if (_algorithm != null) { scheduledEvent.SkipEventsUntil(_algorithm.UtcTime); } _scheduledEvents[scheduledEvent.Name] = scheduledEvent; if (Log.DebuggingEnabled) { scheduledEvent.IsLoggingEnabled = true; } }