For the xamSchedule components to be functional, you need to configure some of their properties to certain required settings.
Following is a list of the required settings, broken down by control, component, and entity type.
Views ( XamMonthView, XamDayView, XamScheduleView, XamOutlookCalendarView and XamDateNavigator) properties
DataManager – must be set to an instance of the XamScheduleDataManager in order to display schedule information
XamScheduleDataManager properties
DataConnector – must be set to a ScheduleDataConnectorBase derived class (e.g. ListScheduleDataConnector, WcfListScheduleDataConnector or ExchangeScheduleDataConnector)
CurrentUserId – required for the reminder functionality. Also if CalendarGroups are not specified on the DataManager or View, CurrentUserId will be required because, in such cases, the PrimaryCalendar of the CurrentUser is shown
CalendarGroups – This property is optional but when calendar groups are not defined on the DataManager and CalendarGroupsOverride is not populated on the views, then the CurrentUser’s PrimaryCalendar is displayed and therefore the CurrentUserId would be required
ListScheduleDataConnector properties
The ListScheduleDataConnector exposes multiple ItemsSource properties (e.g. AppointmentItemsSource) that are used to obtain the information from which the schedule entity objects will be created. Also, for each ItemsSource property there is a corresponding PropertyMappings property (e.g. AppointmentPropertyMappings) that is used to define how the information on the data objects from the items source maps to properties on the corresponding schedule entity.
The following is a list of the various ItemsSource properties with information about when/if they are required.
ResourceItemsSource – always required
ResourceCalendarItemsSource – required for having multiple calendars associated with a Resource. If this property is not specified, then the connector will create a default ResourceCalendar for each resource and set that as its PrimaryCalendar.
AppointmentItemsSource – required for using/displaying Appointment activities
RecurringAppointmentItemsSource – optional when supporting Appointment recurrences. When specified, this property allows the connector to more efficiently handle recurring-activity-related operations such as providing the list of activities for a certain date range.
TasksItemsSource – required only for using/displaying Task activities
JournalItemsSource – required only for using/displaying Journal activities
ActivityCategoryItemSource - required for using activity categories
ExchangeScheduleDataConnector properties
The ExchangeScheduleDataConnector connects directly to an Exchange Server to manage schedule data for one or more users. The following is the list of the properties that are required for the connection with details on how to be configured:
ServerConnectionSettings – must be an instance of the ExchangeServerConnectionSettings class with its Url property set to a valid Exchange Server Url
Users or UseDefaultCredentials – there must be at least one user in an IEnumerable<ExchangeUser> collection and set on the Users property for the connector; this provides the information about which users’ data to manage.
For each entity type (i.e. Resource, ResourceCalendar, Appointment, Task, Journal), certain properties are required. Some properties are always required; others are required if specific functionality is to be supported. Below is a list of the required properties per entity type; the PropertyMappings for all of them must be specified:
Resource type
Id - always required and must be unique
Appointment / Journal / Task type
Id - always required and must be unique to each activity type
Start - always required
End – required for Task and Appointment; optional for Journal
OwningResourceId – always required
OwningCalendarId – required for setting the ResourceCalendarItemsSource
IsTimeZoneNeutral – required for supporting floating times for activities (timezone neutral activities)
ReminderInterval and ReminderEnabled – required for supporting reminders
Recurrence – required for supporting recurring activities
RootActivityId, OriginalOccurrenceStart, OriginalOccurrenceEnd, IsOccurrenceDeleted, VariantProperties, RecurrenceVersion – required for supporting variances when recurring activities are supported
Categories - required for supporting categories
ResourceCalendar type
ResourceCalendarPropertyMappings - required for setting the ResourceCalendarItemsSource
Id – always required and must be unique
OwningResourceId - always required and must be unique
Please see the " Mapping Fields in Your Backend Data Source" topic for a comprehensive listing of the fields and tips on how they should be defined in the data source.