示例#1
0
        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());
            }
        }
示例#2
0
        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());
            }
        }