コード例 #1
0
        public Reminder(Fixture fx, AbstractKey key, string name)   //BUT!!! don't reminders function against abstract type -
        {
            _fx   = fx;                                             //otherwise, how can we upgrade concrete types without ruining reminders???
            _key  = key;
            _name = name;

            _status            = ReminderState.Normal;
            _cancelTokenSource = new CancellationTokenSource();

            _tasks = new Queue <Task>();
        }
コード例 #2
0
        public static Models.Reminder Factory(string name, string description = null, string id = null, ReminderState? state = null, TimeSpan? dueDate = null, ulong? dueMileage = null)
        {
            return new Reminder()
            {
                Name = name,
                Id = id ?? Guid.NewGuid().ToString(),
                State = state ?? ReminderState.Active,
                DueDate = dueDate ?? TimeSpan.FromDays(365),
                DueMileage = dueMileage ?? 0,
                Description = description ?? "",

            };
        }
コード例 #3
0
        public Task ClearAndWait()
        {
            _status = ReminderState.Cancelled;
            _cancelTokenSource.Cancel();

            _sm.Wait();

            try {
                return(Task.WhenAll(_tasks));
            }
            finally {
                _sm.Release();
            }
        }
コード例 #4
0
        public Task FireAndWait()
        {
            var tokenSource = Interlocked.Exchange(ref _cancelTokenSource, new CancellationTokenSource());

            _status = ReminderState.Normal;
            tokenSource.Cancel();

            _sm.Wait();

            try {
                return(Task.WhenAll(_tasks));
            }
            finally {
                _sm.Release();
            }
        }
コード例 #5
0
 protected static bool ParticipateInOnSaving(ReminderState reminderState) =>
 reminderState != ReminderState.RegisteredAndSaved &&
 reminderState != ReminderState.SaveAndUnregister;
コード例 #6
0
 public ReminderInfo(Bookmark bookmark, ReminderState reminderState, DateTime dueTime)
 {
     Bookmark = bookmark;
     DueTime = dueTime;
     ReminderState = reminderState;
 }
コード例 #7
0
 protected static bool ParticipateInOnSaving(ReminderState reminderState) =>
     reminderState != ReminderState.RegisteredAndSaved
     && reminderState != ReminderState.SaveAndUnregister;
コード例 #8
0
 protected static bool ShouldCollect(ReminderState reminderState) =>
     reminderState == ReminderState.RegisteredButNotSaved
     || reminderState == ReminderState.RegisteredButNotResaved
     || reminderState == ReminderState.RegisteredAndSaved;
コード例 #9
0
 public ReminderInfo(Bookmark bookmark, ReminderState reminderState)
     : this(bookmark, reminderState, default(DateTime))
 { }
コード例 #10
0
 public ReminderInfo(Bookmark bookmark, ReminderState reminderState)
     : this(bookmark, reminderState, default(DateTime))
 {
 }
コード例 #11
0
 public ReminderInfo(Bookmark bookmark, ReminderState reminderState, DateTime dueTime)
 {
     Bookmark      = bookmark;
     DueTime       = dueTime;
     ReminderState = reminderState;
 }
コード例 #12
0
 public Reminder()
 {
     CreateDate    = DateTime.Now;
     ReminderState = ReminderState.NotTimeYet;
     Id            = Guid.NewGuid();
 }
コード例 #13
0
 protected static bool ParticipateInCollectValues(ReminderState reminderState) =>
     // do not save bookmarks where the associated reminder will be unregistered during/after save
     reminderState != ReminderState.SaveAndUnregister
     && reminderState != ReminderState.Unregister;
コード例 #14
0
 protected static bool ParticipateInCollectValues(ReminderState reminderState) =>
 // do not save bookmarks where the associated reminder will be unregistered during/after save
 reminderState != ReminderState.SaveAndUnregister &&
 reminderState != ReminderState.Unregister;
コード例 #15
0
 protected static bool ParticipateInOnPaused(ReminderState reminderState) =>
 reminderState == ReminderState.RegisterAndSave ||
 reminderState == ReminderState.ReregisterAndResave ||
 reminderState == ReminderState.Unregister;
コード例 #16
0
 private void ListBoxItem_AdvanceReminder_Selected(object sender, System.Windows.RoutedEventArgs e)
 {
     this.ReminderState = ReminderState.Advance;
 }
コード例 #17
0
 private void ListBoxItem_BasicReminder_Selected(object sender, System.Windows.RoutedEventArgs e)
 {
     this.ReminderState = ReminderState.Basic;
 }
コード例 #18
0
 public ReminderInfo(Bookmark bookmark, ReminderState reminderState, DateTime dueTime)
 {
     this.Bookmark      = bookmark;
     this.DueTime       = dueTime;
     this.ReminderState = reminderState;
 }
コード例 #19
0
 protected static bool ShouldCollect(ReminderState reminderState) =>
 reminderState == ReminderState.RegisteredButNotSaved ||
 reminderState == ReminderState.RegisteredButNotResaved ||
 reminderState == ReminderState.RegisteredAndSaved;
コード例 #20
0
 protected static bool ParticipateInOnPaused(ReminderState reminderState) =>
     reminderState == ReminderState.RegisterAndSave
     || reminderState == ReminderState.ReregisterAndResave
     || reminderState == ReminderState.Unregister;