Пример #1
0
        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();
                        }
                    });
                }
            });
        }
Пример #2
0
        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();
                }
            });
        }