private void DeleteCurrentNote() { if (SelectedMenuItem == _trashLibraryMenuItem) { return; } if (NoteMenuContext.SelectedNote.Note.Protected) { ShowQuickMessage("You cant delete this note, it's protected from that."); return; } var settings = DialogHelpers.GetDefaultDialogSettings(); MainWindowInstance.ShowMessageAsync("Delete", $"Do you want to delete {NoteMenuContext.SelectedNote.Note.Name}?", MessageDialogStyle.AffirmativeAndNegative, settings).ContinueWith(delegate(Task <MessageDialogResult> task) { if (task.Result == MessageDialogResult.Affirmative) { InvokeOnCurrentDispatcher(() => { Guid noteId = NoteMenuContext.SelectedNote.Note.ID; if (NoteViewModels.ContainsKey(noteId)) { //NoteMenuContext.SelectedNote.Note.Delete(); NoteMenuContext.SelectedNote.Note.InTrashCan = true; //NoteMenuContext.SelectedNote.Note.Save(); var nvm = NoteViewModels[noteId]; NoteViewModels.Remove(noteId); NoteMenuContext.DataSource.Remove(nvm); NoteMenuContext.SelectedNote = NoteMenuContext.DataSource.FirstOrDefault(); Hub.Instance.Settings.RefreshTags(); } }); } }); }
private void EmptyTrash(object arg) { var settings = DialogHelpers.GetDefaultDialogSettings(); MainWindowInstance.ShowMessageAsync("Empty trash", "Do you want to delete all notes in the trashcan?\nThis operation can not be undone.", MessageDialogStyle.AffirmativeAndNegative, settings). ContinueWith(delegate(Task <MessageDialogResult> task) { if (task.Result == MessageDialogResult.Affirmative) { foreach (NoteViewModel n in NoteMenuContext.DataSource) { Guid noteId = n.Note.ID; if (NoteViewModels.ContainsKey(noteId)) { n.Note.Delete(); NoteViewModels.Remove(noteId); } } NoteMenuContext.SelectedNote = null; NoteMenuContext.DataSource.Clear(); } }); }