To reproduce:
- Add mapping for the reminder property and try to save it in the database.
Workaround:
appointmentMappingInfo.Reminder = "Reminder";
appointmentMappingInfo.FindBySchedulerProperty("Reminder").ConvertToScheduler = ConvertReminderToScheduler;
appointmentMappingInfo.FindBySchedulerProperty("Reminder").ConvertToDataSource = ConvertReminderToDataSource;
private object ConvertReminderToDataSource(object item)
private object ConvertReminderToDataSource(object item)
{
TimeSpan? reminder = item as TimeSpan?;
if (reminder != null)
{
return (int)reminder.Value.TotalMilliseconds;
}
return 0;
}
private object ConvertReminderToScheduler(object item)
{
try
{
int value = Convert.ToInt32(item);
if (value != 0)
{
return TimeSpan.FromMilliseconds(value);
}
return null;
}
catch
{
return null;
}
}