private void GarbageTasksRemovesItem(SQLCollectionChangedArgs e) { _sQL.RemoveFromGarbageAsync(SQL.Task, e.Item.ID).ContinueWith(t => { if (t.IsFaulted) { throw t.Exception; } }); }
private async void GarbageTasksRestoresItem(SQLCollectionChangedArgs e) { await _sQL.RestoreFromGarbageAsync(SQL.Task, e.Item.ID); List <Task> tasks = await _sQL.GetTaskListAsync("ID=" + e.Item.ID, Tags); Tasks.RestoreItem(tasks[0]); }
public void RemoveTag(SQLCollectionChangedArgs e) { Tag _tag = e.Item as Tag; foreach (var i in Tasks) { i.Tags.Remove(_tag); } _sQL.RemoveAsync(SQL.Tag, _tag.ID); }
internal static void CheckRemovedTask(SQLCollectionChangedArgs e) { Task removedTask = e.Item as Task; DateTime now = DateTime.Now; if (removedTask.Type == TaskType.Schedule && removedTask.GetStatusOn(now) == TaskStatus.Available) { if (RemoveAllUnfinishedTaskOf(removedTask)) { Notify(UnfinishedTasks[CurrentIndex]); } } }
internal static void CheckChangedTask(SQLCollectionChangedArgs e) { Task changedTask = e.Item as Task; if (e.Property == "Time") { DateTime now = DateTime.Now; if (changedTask.Type == TaskType.Schedule && changedTask.GetStatusOn(now) == TaskStatus.Available) { int index = 0; while (index < SnoozedTasks.Count) { if (SnoozedTasks[index].UnfinishedTask.Task == changedTask) { SnoozedTasks.RemoveAt(index); } else { index++; } } bool isfree = CurrentIndex < 0; UnfinishedTask oldActiveTask = null; if (CurrentIndex != -1) { oldActiveTask = UnfinishedTasks[GetLastestActiveTaskIndex()]; oldActiveTask.NotifiedTime = oldActiveTask.TimeInfo.ActiveTimeOfDay.Value; } RemoveAllUnfinishedTaskOf(changedTask); AddAllUnfinishedTaskOf(changedTask); if (CurrentIndex > -1) { if (oldActiveTask != UnfinishedTasks[CurrentIndex]) { Notify(UnfinishedTasks[CurrentIndex]); } else if (isfree) { CurrentIndex = -CurrentIndex - 2; } } else if (CurrentIndex == -1 && oldActiveTask != null) { Notify(null); } } } else if (e.Property == "Repeat") { DateTime now = DateTime.Now; if (changedTask.Type == TaskType.Schedule && changedTask.GetStatusOn(now) == TaskStatus.Available) { if (!UnfinishedTasks.Any(x => x.Task == changedTask)) { if (AddAllUnfinishedTaskOf(changedTask)) { Notify(UnfinishedTasks[CurrentIndex]); } } } else { if (UnfinishedTasks.Any(x => x.Task == changedTask)) { if (RemoveAllUnfinishedTaskOf(changedTask)) { Notify(UnfinishedTasks[CurrentIndex]); } } } } }
public void EditTask(SQLCollectionChangedArgs e) { _sQL.UpdateAsync(SQL.Task, e.Item.ID, e.Property, e.NewValue); }
public void MoveTaskToGarbage(SQLCollectionChangedArgs e) { _sQL.RemoveAsync(SQL.Task, e.Item.ID); }
public void InsertTask(SQLCollectionChangedArgs e) { _sQL.InsertAsync(e.Item as Task); }