Version

Reminders

XamSchedule has built in support for reminders for all supported activity types (ex: Appointment, Journal and Task). The following properties are available on the ActivityBase class to programmatically setup a reminder:

Note: Appointment, Journal and Task all inherit from ActivityBase.

  • ReminderEnabled – Specifies whether the activity’s reminder is set. The default value is false.

  • ReminderInterval – A time span defining the amount of time prior to the start of the activity when the reminder should be triggered.

  • Reminder – An instance of the Reminder class that provides additional information about the reminder including information about whether/when the reminder was snoozed.

In Visual Basic:

Dim remAppointment = New Appointment() With { _
    Key .Id = "t1", _
    Key .OwningCalendarId = "cal1", _
    Key .OwningResourceId = "own1", _
    Key .Start = New DateTime(2010, 9, 9).AddHours(9).AddMinutes(12), _
    Key .[End] = New DateTime(2010, 9, 9).AddHours(9).AddMinutes(42), _
    Key .Subject = "Appointment 1", _
    Key .Description = "My first Appointment in XAML", _
    Key .ReminderInterval = New TimeSpan(0, 0, 30), _
    Key .ReminderEnabled = True, _
    Key .Reminder = New Reminder() With { _
        Key .IsSnoozed = False, _
        Key .SnoozeInterval = New TimeSpan(0, 0, 40), _
        Key .Text = "My Reminder" _
    } _
}

In C#:

var remAppointment = new Appointment
{
    Id = "t1",
    OwningCalendarId = "cal1",
    OwningResourceId = "own1",
    Start = new DateTime(2010, 9, 9).AddHours(9).AddMinutes(12),
    End = new DateTime(2010, 9, 9).AddHours(9).AddMinutes(42),
    Subject = "Appointment 1",
    Description = "My first Appointment in XAML",
    ReminderInterval = new TimeSpan(0, 0, 30),
    ReminderEnabled = true,
    Reminder = new Reminder
    {
        IsSnoozed = false,
        SnoozeInterval = new TimeSpan(0, 0, 40),
        Text = "My Reminder"
    }
};

The UI representation of an activity with a reminder enabled displays a reminder icon (ex: a small ringing bell) in the bottom right corner of the activity’s rectangle.

xamSchedule Reminders1.png

Note that when reminders are enabled for activities, they are only displayed and triggered for activities that are associated with the CurrentUser of the xamScheduleDataManager. This means - if the OwningResourceId of the activity is set to the same value as the DataManager’s CurrentUserId property then the reminders will appear.

The end user interaction with reminders is similar to Microsoft Outlook. This includes the ability to snooze and dismiss reminders. There is also an option in the activity dialogs for the end user to set a reminder and its interval.

xamSchedule Reminders2.png