We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy.
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

Date Difference btw Schedule Control and What was saved in Database

Thread ID:

Created:

Updated:

Platform:

Replies:

131686 Jul 23,2017 05:14 PM UTC Jul 25,2017 05:24 AM UTC ASP.NET MVC 4
loading
Tags: Schedule
Charles
Asked On July 23, 2017 05:14 PM UTC

Goodday,

I am having issues reconciling the difference btw the date on my schedule control and the one saved in my Db.Though the Date rendered from the Db back to the schedule control is rendered correctly, I can't understand the almost + 6hrs difference in the StartTime and Endtime from the Schedule Control and what was saved in the Db even though my Timezone is UTC +01:00. 

I took my time to use fiddler to investigate and I saw the following.

Note: I used the EndTime (Time only) as Subject.

The EndTime sent from the schedule is EndTime=2017-07-23T08:00:00.000Z and what was return as result after saving to Schedule and Db was EndTime=2017-07-23T09:00:00+01:00 but what was saved in the Db (MSSQL) is 2017-07-23 13:15:00.000 and what was returned from my web query (MVC) is "2017-07-23T09:00:00". 

The actual expected EndTime 9:00 AM of 23rd of July. I don't understand why the DB time is saved as 15:00 (+6hrs). I need to understand what is the cause.

Also attached are images of the data for better understanding.

My schedule was created thus  :

 @(Html.EJ().Schedule("routeSchedule")

                          .Width("100%")

                          .Height("525px")

                         // .CellWidth("50px")

                          .CurrentDate(DateTime.Now)

                          //.Orientation(Orientation.Horizontal)

                          .Resources(res =>

                          {

                              res.Field("TerritoryId").Title("Territory").Name("Territories").AllowMultiple(true).ResourceSettings(fld => fld.Datasource(initialTerrittory)

                                  .Text("Text").Id("Id")).Add();

                              res.Field("RouteId").Title("Route").Name("Routes").AllowMultiple(true).ResourceSettings(flds => flds.Datasource(initialTerritoryRoutes)

                                  .Text("Text").Id("Id").GroupId("GroupId").Color("Color")).Add();

                          })

                          .Group(gr => gr.Resources(Group))

                          .ShowLocationField(true)

                          .CategorizeSettings(cat => cat.Enable(true))

                          //.PrioritySettings(pri => pri.Enable(true))

                         .ShowCurrentTimeIndicator(true)

                          .Views(view)

                          .CurrentView(CurrentView.Month)

                          .AppointmentSettings(fields => fields.Datasource(ds => ds.URL(@Url.Action("GetCompanyScheduledRoutes", "Route", new { companyid = Model.Id, routeid = firstroute, territoryid = firstterritory })).InsertURL(Url.Action("AddScheduledRoutes", "Route", new { companyid = Model.Id }))

                    .BatchURL(@Url.Action("Crud", "Route")).Adaptor(AdaptorType.UrlAdaptor))

                              .Id("Id")

                              .Subject("Subject")

                              .StartTime("StartTime")

                              .EndTime("EndTime")

                              .StartTimeZone("StartTimeZone")

                              .EndTimeZone("EndTimeZone")

                              .Description("Comments")

                              .AllDay("AllDay")

                              .Recurrence("Recurrence")

                              .RecurrenceRule("RecurrenceRule")

                              .RecurrenceId("RecurrenceId")

                              .RecurrenceExDate("RecurrenceExDate")

                              .Location("Location")

                              .ResourceFields("TerritoryId, RouteId"))

                              .ScheduleClientSideEvents(eve => eve.Navigation("OnNavigation").CellClick("OnCellClick").AppointmentWindowOpen("onAppointmentWindowOpen"))

                            /*.AppointmentTemplateId("#MyTemplate")*/)

Fiddler View


Schedule Control View


Web View



Database View



Attachment: DbDateDifference_de72d5a9.zip

Charles
Replied On July 23, 2017 05:36 PM UTC

Note: Its is an MSSQL (2008) Database 

Sellakumar [Syncfusion]
Replied On July 24, 2017 01:05 PM UTC

Hi Charles, 
 
Thanks for contacting Syncfusion support. 
 
The timezone conversion for StartTime and EndTime has been occurs based on the zero UTC value. So the time difference has been reduced before going to the database. The object has been retrieved from database to render the appointment, the reduced time difference has been added and displayed in the scheduler. To render the appointment as same as the time given in data base (without considering timezone difference) set ApplyTimeOffset to false within AppointmentSettings.  Kindly check this case at you end and revert us, if you need any further assistance on this. 
 
Regards, 
Sellakumar K

Charles
Replied On July 24, 2017 02:31 PM UTC

Thanks alot, sorted it out. Its an issue with my app, somewhere @the initialization of my app, a wrong time-zone was set as default.


Karthigeyan Krishnamurthi [Syncfusion]
Replied On July 25, 2017 05:24 AM UTC

Hi Charles,  
 
We are happy to hear that your issue has been resolved.  
 
Regards, 
Karthigeyan 


CONFIRMATION

This post will be permanently deleted. Are you sure you want to continue?

Sorry, An error occured while processing your request. Please try again later.

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

;