/// <summary> /// Архивирует заметку /// </summary> /// <param name="viewModel">Модель отображения</param> private async void ArchiveNote(TextNoteViewModel viewModel) { viewModel.State = NoteState.Archived; await apiClient.Notes.UpdateNote(viewModel.Model); await Sync(); }
/// <summary> /// Выполняет вызов API для создания заметки и запуск механизма синхронизации /// </summary> /// <param name="viewModel">Данные заметки</param> /// <returns></returns> private async Task AddNote(TextNoteViewModel viewModel) { var isAdded = await apiClient.Notes.AddNote(viewModel.Model); MessageQueue.Enqueue(isAdded ? "Заметка добавлена!" : "Возникла ошибка!"); await Sync(); }
/// <summary> /// Удаляет заметку и запускает синхронизацию /// </summary> /// <param name="viewModel">Модель отображения</param> private void RemoveNote(TextNoteViewModel viewModel) { Items.Remove(viewModel); apiClient.Notes.RemoveNote(viewModel.Id); #pragma warning disable CS4014 Sync(); #pragma warning restore CS4014 }
/// <summary> /// Редактирует заметку /// </summary> /// <param name="viewModel">Модель отображения</param> private async void EditNote(TextNoteViewModel viewModel) { var dialog = new AddEditTextNoteDialog(viewModel); var result = await OpenDialog(dialog); if (result) { dialog.UpdateViewModel(viewModel); await apiClient.Notes.UpdateNote(viewModel.Model); await Sync(); } }
/// <summary> /// Открывает диалог и создает новую заметку /// </summary> private async void AddTextNote() { var viewModel = new TextNoteViewModel(); var dialog = new AddEditTextNoteDialog(); var result = await OpenDialog(dialog); if (result) { dialog.UpdateViewModel(viewModel); await AddNote(viewModel); } }
/// <summary> /// Открывает диалог и создает новую заметку /// </summary> private async void AddToDoNote() { var viewModel = new TextNoteViewModel { Title = "Заметка с контрольным список", Content = "1.\n2.\n3.\n" }; var dialog = new AddEditTextNoteDialog(viewModel); var result = await OpenDialog(dialog); if (result) { dialog.UpdateViewModel(viewModel); await AddNote(viewModel); } }