Beispiel #1
0
        public void CreateAlarm(List <Event> eventList)
        {
            AlarmManager.CancelAll();

            foreach (Event e in eventList)
            {
                if (e.Start.DateTime == null)
                {
                    continue;
                }

                Notification n = new Notification
                {
                    Title     = e.Summary,
                    IsVisible = true
                };

                n.Content = e.Start.DateTime.Value.ToString("yyyy.MM.dd HH:mm") + " - " + e.End.DateTime.Value.ToString("yyyy.MM.dd HH:mm");

                Notification.ActiveStyle style = new Notification.ActiveStyle();

                style.AddButtonAction(new Notification.ButtonAction {
                    Index = 0, Text = "OK"
                });

                n.AddStyle(style);

                AlarmManager.CreateAlarm(e.Start.DateTime.Value, n);
            }
        }
Beispiel #2
0
        /// <summary>
        /// Creates new alarm according to settings from alarmInfo values. If the Delay value is greater than 0,
        /// the alarm type is set to "delay" alarm type. Otherwise it is "exact date/time" alarm type.
        /// </summary>
        /// <param name="alarmInfo">Alarm object.</param>
        /// <returns>Created Alarm ID.</returns>
        public int SetAlarm(AlarmInfoViewModel alarmInfo)
        {
            AppControl appControl = new AppControl {
                ApplicationId = alarmInfo.AppInfo.AppId
            };
            Alarm createdAlarm;

            RemoveAlarm(alarmInfo.AlarmReference);

            try
            {
                if (alarmInfo.Delay > 0) // Delay alarm version.
                {
                    createdAlarm = AlarmManager.CreateAlarm(alarmInfo.Delay, appControl);
                }
                else // Exact date/time alarm version.
                {
                    if (alarmInfo.IsRepeatEnabled && alarmInfo.DaysFlags.IsAny())
                    {
                        createdAlarm = AlarmManager.CreateAlarm(alarmInfo.Date, DaysOfWeek2AlarmWeek(alarmInfo.DaysFlags), appControl);
                    }
                    else
                    {
                        createdAlarm = AlarmManager.CreateAlarm(alarmInfo.Date, appControl);
                    }
                }

                return(createdAlarm.AlarmId);
            }
            catch (Exception e)
            {
                Debug.WriteLine("Cannot create alarm. Exception message: " + e.Message);
            }

            return(-1);
        }