public void Reschedule(ScheduledItem item) { if (!string.IsNullOrWhiteSpace(item.Recurrence)) { Recurrence r = JsonConvert.DeserializeObject <Recurrence>(item.Recurrence); DateTime nextOccurence = r.GetNextRecurrence(); var si = new ScheduledItem(item.UniqueName, item.Message, item.Type, item.Route, nextOccurence, r); _jobs.Add(si); } _jobs.Remove(item); }