/// <summary> /// Метод сохранения изменений заметки /// </summary> /// <param name="sender">Отправитель Button</param> /// <param name="e">Событие отправителя</param> async void EditNoteClicked(object sender, EventArgs e) { if (!string.IsNullOrWhiteSpace(noteText.Text)) { newNote.NoteText = noteText.Text; newNote.NotificationTime = notificationTime.Time; newNote.IsNotify = notify.IsChecked; if (!newNote.IsNotify) { NotificationCenter.Current.Cancel(newNote.ID); } // Сохранение измененной заметки. await database.SaveNoteAsync(newNote); // Подписываем метод на событие. var page = Navigation.NavigationStack[0] as NotesPage; EditNoteEvent += page.UpdateNowNotes; // Вызываем событие. EditNoteEvent?.Invoke(); DependencyService.Get <IMessage>().ShortAlert("Заметка изменена"); await Navigation.PopAsync(); } else { await DisplayAlert("Предупреждение!", "Нет текста заметки!!!", "ОК"); } }
/// <summary> /// Действия при загрузке страницы /// </summary> protected override async void OnAppearing() { base.OnAppearing(); // Загрузка базы данных. var notes = await Sunday.Database.GetNotesAsync(); // Подписываем метод на событие. var page = Navigation.NavigationStack[0] as NotesPage; EditNoteEvent += page.UpdateNowNotes; // Вызываем событие. EditNoteEvent?.Invoke(); // Подготовка уведомлений. MyNotifications.GenerateNotifications("Sunday"); // Сортировка заметок по времени и передеча в ListView. listView.ItemsSource = notes.OrderBy(x => x.NotificationTime) .OrderByDescending(x => x.IsNotify); }