I have a scheduler control on a page.
Nothing fancy, For the purpose of testing out the control, i'm using the TaskViewModel from the example project. At my company we have people in India who will create recurring schedules on this calendar. When I save the schedule's date/time, i'm storing it as a UTC value (just like your example project). The problem occurs when a user here in the U.S. (Central Standard Time) views a recurring (weekly with specified days) schedule. India would create a 9:30 AM IST, recurring every Tuesday & Thursday and the duration is for 2 hours. When an Indian user reads the data back, the scheduler displays it just fine. When a user in the U.S. (CST) views it, we should expect to see a recurring meeting at 11:00 PM CST on Monday and Wednesday. Instead, the meeting is showing up at 11:00 PM CST on Tuesday and Thursday. Not only is it showing up on the wrong day, but the event shows up on the scheduler as if the duration of the meeting as zero.
I also noticed something else, when I save the schedule, I am able to save the StartTimezone and EndTimezone to the database, however, these fields are not members of the ISchedulerEvent interface. The scheduler control seems to lose these values when it is repopulated with data. How is the client control supposed to know how to properly convert from one timezone to another without that information?
Html.Kendo().Scheduler<
TaskViewModel
>()
.Name("MyScheduler")
.Date(DateTime.Now)
.Height(600)
.Views(views =>
{
views.DayView();
views.WeekView(weekView => weekView.Selected(true));
})
.DataSource(dataSource =>
dataSource.Model(m =>
{
m.Id(o => o.Id);
})
.ServerOperation(true)
.Read(read => read.Action("ReadSchedules", "Scheduler"))
)
.Editable(false)
I also noticed something else, when I save the schedule, I am able to save the StartTimezone and EndTimezone to the database, however, these fields are not members of the ISchedulerEvent interface. The scheduler control seems to lose these values when it is repopulated with data. How is the client control supposed to know how to properly convert from one timezone to another without that information?