Ejemplo n.º 1
0
 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();
 }
Ejemplo n.º 2
0
 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();
 }
Ejemplo n.º 3
0
        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}");
            }
        }
Ejemplo n.º 4
0
        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.");
            }
        }
Ejemplo n.º 5
0
 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));
     }
 }
Ejemplo n.º 6
0
 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));
     }
 }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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);
        }