public void Reschedule(ScheduledItem item) { try { using (var ds = DocumentStoreLocator.ResolveOrRoot(CommonConfiguration.CoreDatabaseRoute)) { var loadedItem = ds.Load <ScheduledItem>(DataDocument.GetDocumentId(item)); if (!string.IsNullOrWhiteSpace(loadedItem.Recurrence)) { Recurrence r = JsonConvert.DeserializeObject <Recurrence>(loadedItem.Recurrence); DateTime nextOccurence = r.GetNextRecurrence(); ds.Store( new ScheduledItem(loadedItem.UniqueName, loadedItem.Message, loadedItem.Type, loadedItem.Route, nextOccurence, r)); } ds.Delete(loadedItem); ds.SaveChanges(); } } catch (Exception ex) { var aa = Catalog.Factory.Resolve <IApplicationAlert>(); aa.RaiseAlert(ApplicationAlertKind.System, ex.TraceInformation()); } }
public void Cancel(ScheduledItem item) { try { using (var ds = DocumentStoreLocator.ResolveOrRoot(CommonConfiguration.CoreDatabaseRoute)) { var loadedItem = ds.Load <ScheduledItem>(DataDocument.GetDocumentId(item)); ds.Delete(loadedItem); ds.SaveChanges(); } } catch (Exception ex) { var aa = Catalog.Factory.Resolve <IApplicationAlert>(); aa.RaiseAlert(ApplicationAlertKind.System, ex.TraceInformation()); } }