private void DeleteReminder(Reminder ReminderToDelete) { StoredProcedures.DeleteReminder(ReminderToDelete.ReminderID); // cancel the scheduled notification for the reminder AlarmAndReminderHelper.UnscheduleReminder(ReminderToDelete); // clear the list of reminders and re-populate them this.Reminders.Clear(); this.Reminders.AddRange(GetRemindersFromDatabase()); this.PopulateScreenWithReminders(); }
private void DeleteAlarm(Alarm AlarmToDelete) { StoredProcedures.DeleteAlarm(AlarmToDelete.AlarmID); // unschedule the alarm as well AlarmAndReminderHelper.UnscheduleAlarm(AlarmToDelete); // clear the list of reminders and re-populate them this.Alarms.Clear(); this.Alarms.AddRange(GetAlarmsFromDatabase()); this.PopulateScreenWithAlarms(); }
private void DeleteLatestReminder() { // get the latest reminder from the database, since we need to cancel the scheduled toast for it Reminder latestReminder = StoredProcedures.QueryLatestReminder(); AlarmAndReminderHelper.UnscheduleReminder(latestReminder); StoredProcedures.DeleteLatestReminder(); // if we have a dynamic area, remove the children from it if (this.DynamicArea != null) { this.ShowMessage($"Deleted reminder {latestReminder.Title}"); } }
private void DeleteLatestAlarm() { // we need to unschedule the alarm toast Alarm latestAlarm = StoredProcedures.QueryLatestAlarm(); AlarmAndReminderHelper.UnscheduleAlarm(latestAlarm); StoredProcedures.DeleteLatestAlarm(); // if we have a dynamic area, remove the children from it if (this.DynamicArea != null) { this.ShowMessage("Alarm deleted."); } }
private void SubmitAlarmButton_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e) { if (this.ValidateForm()) { this.PopulateAlarmFromForm(); if (this.AlarmToEdit.AlarmID == -1) { StoredProcedures.CreateAlarm(this.AlarmToEdit.Title, this.AlarmToEdit.ActivateDateAndTime); AlarmAndReminderHelper.ScheduleAlarm(StoredProcedures.QueryLatestAlarm()); } else { AlarmAndReminderHelper.RescheduleAlarm(this.AlarmToEdit); StoredProcedures.UpdateAlarm(this.AlarmToEdit.AlarmID, this.AlarmToEdit.Title, this.AlarmToEdit.ActivateDateAndTime, false); } UIUtils.GoBack(this, typeof(AlarmsPage)); } }
private void SubmitReminderButton_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e) { if (this.ValidateForm()) { this.PopulateReminderFromForm(); if (this.ReminderToEdit.ReminderID == -1) { StoredProcedures.CreateReminder(this.ReminderToEdit.Title, this.ReminderToEdit.ActivateDateAndTime, this.ReminderToEdit.Description); // schedule the notification for it AlarmAndReminderHelper.ScheduleReminder(StoredProcedures.QueryLatestReminder()); } else { StoredProcedures.UpdateReminder(this.ReminderToEdit.ReminderID, this.ReminderToEdit.Title, this.ReminderToEdit.ActivateDateAndTime, this.ReminderToEdit.Description, false); // reschedule the reminder AlarmAndReminderHelper.RescheduleReminder(this.ReminderToEdit); } UIUtils.GoBack(this, typeof(RemindersPage)); } }
private async Task <Reminder> NewReminderAsync() { Reminder createdReminder = await this.CreateReminderAsync(); // if the reminder is null, then don't do anything if (createdReminder != null) { // insert the reminder into the database StoredProcedures.CreateReminder(createdReminder.Title, createdReminder.ActivateDateAndTime, createdReminder.Description); // schedule a toast notification for the reminder AlarmAndReminderHelper.ScheduleReminder(StoredProcedures.QueryLatestReminder()); string mainPart = $"Alright, reminder set for "; string datePart = createdReminder.ActivateDateAndTime.ToString("MMM d"); string timePart = createdReminder.ActivateDateAndTime.ToString("h:mm tt"); string rawSSML = new SSMLBuilder().Add(mainPart).SayAs(datePart, SSMLBuilder.SayAsTypes.DATE).Add(" at ").SayAs(timePart, SSMLBuilder.SayAsTypes.TIME).BuildWithoutWrapperElement(); string prosodySSML = new SSMLBuilder().Prosody(rawSSML, pitch: "+5%", contour: "(10%,+5%) (50%,-5%) (80%,-5%)").Build(); TextToSpeechEngine.SpeakInflectedText(this.MediaElement, prosodySSML); } return(createdReminder); }
private Alarm NewAlarm() { this.ClearArea(); Alarm createdAlarm = this.CreateAlarm(); // the alarm can be null if the user did not provide a date if (createdAlarm != null) { // insert the alarm into the database StoredProcedures.CreateAlarm(createdAlarm.Title, createdAlarm.ActivateDateAndTime); // schedule a toast notification for the alarm AlarmAndReminderHelper.ScheduleAlarm(StoredProcedures.QueryLatestAlarm()); string mainPart = $"Alright, alarm set for "; string datePart = createdAlarm.ActivateDateAndTime.ToString("MMM d"); string timePart = createdAlarm.ActivateDateAndTime.ToString("h:mm tt"); string rawSSML = new SSMLBuilder().Add(mainPart).SayAs(datePart, SSMLBuilder.SayAsTypes.DATE).Add(" at ").SayAs(timePart, SSMLBuilder.SayAsTypes.TIME).BuildWithoutWrapperElement(); string prosodySSML = new SSMLBuilder().Prosody(rawSSML, pitch: "+5%", contour: "(10%,+5%) (50%,-5%) (80%,-5%)").Build(); TextToSpeechEngine.SpeakInflectedText(this.MediaElement, prosodySSML); } return(createdAlarm); }