Issue with all-day event

Hello

If we create an all day event that starts at 12 am on April 22th and ends at 12 pm on April 22th, the Schedule control interprets this as 2 days full event. If we extract one millisecond before midnight, it is working well.

There seems a standard that the end time should be non-inclusive.

Could it be fixed please?

Thank You

Sébastien



16 Replies

JO Joy Oyiess Rex  K Syncfusion Team April 23, 2014 10:26 AM UTC

Hi Sébastien,

 

Thanks for your interest in Syncfusion products.

 

Based on the implementation of Schedule control, ScheduleAppointments doesn't consider the StartTime and EndTime properties when it is “AllDay Appointment”, and we are not able to reproduce the mentioned issue with our current version (v12.1.0.43), so could you please provide us a simple issue reproducing sample. So that we could analyse on it and provide you better solution.

 

Please let us know, if you need any further assistance.

 

Regards,

Joy Oyiess Rex K



SL Sébastien Lachance April 23, 2014 02:47 PM UTC

Hello,

I was able to reproduce the issue with the Syncfusion sample. I think I have pinpointed the problem (but I didn't find the solution).

1- Open the file GettingStarted.xaml.cs from SampleBrowser\SampleBrowser\Schedule\View
2- At the end of the constructor, please add the following ScheduleAppointment:

 AppoitnmentCollection.Add(new ScheduleAppointment()
                {
                    StartTime = new DateTime(2014, 4, 23, 0, 0, 0),
                    EndTime = new DateTime(2014, 4, 24, 0, 0, 0),
                    EndTimeZone = null,
                    StartTimeZone = null,
                    AllDay = true,
                    AppointmentBackground = brush[1],
                    Subject = "One day event"
                });

As you see the StartTime is on April 23th and end on April 24th (midnight of April 23th in fact...).

3- Run the application, you'll see that the full day event is only on one cell. That's the good behavior.

But now, let's use the Hospital demo which use mapping.

1- Open EventsViewModel.cs from \Chart\ShowCase\HospitalDemo\ViewModel
2- At the end of the constructor, please add:

            var eventFullDay = new Event();
            eventFullDay.Title = "Full day event";
            eventFullDay.Description =
                "Institute of Neurosciences organises a CME program on Neurology in the Future";
            eventFullDay.Start = new DateTime(2014, 4, 25, 0, 0, 0);
            eventFullDay.End = new DateTime(2014, 4, 26, 0, 0, 0);
            eventFullDay.Venue = "Syncfusion medical university";
            eventFullDay.Icon = "ms-appx:///Chart/ShowCase/HospitalDemo/Assets/Image6.jpg";
            Events.Add(eventFullDay);

The Start and End dates use the same date structure as the previous example. However, this event will be spread over two days which is not the desire behavior.

Thanks

Sébastien



JB John Bowlin Bosco K Syncfusion Team April 25, 2014 12:39 PM UTC

Hi Sébastien,


Thank you for providing the information to analyze the issue.


Regarding the all-day appointment creation using custom mapping appointments, AllDayMapping attribute of AppointmentMapping should be specified to map the properties from the underlying items source. Please find below the code snippet to map the custom appointments.


Code Snippet:
[XAML]
<sync:SfSchedule.AppointmentMapping>
    <sync:ScheduleAppointmentMapping SubjectMapping="Title"
                                     StartTimeMapping="Start"
                                     LocationMapping="Venue"
                                     NotesMapping="Description"
                                     EndTimeMapping="End"
                                     AllDayMapping="IsAllDayEvent"/>
</sync:SfSchedule.AppointmentMapping>   

 

We have modified the patient monitor demo to create all day appointment and the simplified sample is attached below for your reference. Please find the sample from the attachment and let us know if this helps you.


Sample Link:
http://www.syncfusion.com/downloads/support/directtrac/116193/PatientDetailsDemo1330223396.zip


Please let us know if you need any further assistance.


Regards,
Pauline Bosco K



SL Sébastien Lachance April 25, 2014 01:04 PM UTC

Hello,

In your provided sample, the bug is indeed still there: http://screencast.com/t/z0jzbITCnw

You didn't see the problem because the bug was hidden by another event on April 26th.

In your provided sample, please put in comment the line "Events.Add(event5);" in EventsViewModel.cs

Thank You
Sébastien



JB John Bowlin Bosco K Syncfusion Team April 28, 2014 01:08 PM UTC

Hi Sébastien,


Thank you for providing the detailed information regarding the issue.


The reported scenario in SfSchedule is an expected behaviour of all day appointment in month view. For your reference, we have attached the comparison details of SfSchedule (Month View) and Outlook Schedule (Month View) having all day appointment. Please find the attached document and let us know if you have any other concerns.


Regards,
Pauline Bosco K


Attachment: ComparisonDetails_6aebb23f.zip


SL Sébastien Lachance April 28, 2014 01:59 PM UTC

Hello Pauline,

I'm glad that you are mentioning the example of Outlook. We are currently doing something to support Outlook with the Syncfusion control.

To help understanding the issue, I have created 2 screenshots that you can find in the Zip. The first screenshot is about creating a one full day event in Outlook. The other screenshot is from Syncfusion. You'll see that the Syncfusion display the "one" full day event into a two days full event.

The standard practice dictates to exclude the 12:00:00 am as a new day.

If you cannot fix the issue, could you please add another boolean property like: IgnoreMidnightAsNewDay. This issue is very important to our client.

Thank You

Sébastien


Attachment: Outlook_VS_Syncfusion_58e35db5.zip


JO Joy Oyiess Rex  K Syncfusion Team April 29, 2014 12:42 PM UTC


Hi Sébastien

We have already logged the mentioned issue and we have fixed the issue as mentioned in our previous update. The particular issue occur through the Scenario III. To know more about it, please find the modified comparison document  in the attachment, 

And also, as mentioned in our previous update, the fix for this issue will included in our upcoming WinRT SP release, which is estimated to be available in a week.

Please let us know, if you need any further assistance.

Regards,
Joy Oyiess Rex K


Attachment: ComparisonDetails_modified_13a1f21d.zip


SL Sébastien Lachance April 29, 2014 12:55 PM UTC

Hello,

In the Word document, is there a typo concerning the Scenario III?

The bug we are saying is about 2014/4/28 0:0:0 to 2014/4/29 0:0:0 and IsAllDay = TRUE.

I want to make sure you fix the right bug :)

Thank you

Sébastien



JO Joy Oyiess Rex  K Syncfusion Team April 29, 2014 01:49 PM UTC

Hi Sébastien

 

We have fixed the issue with Scenario III, where 2014/4/28 0:0:0 to 2014/4/29 0:0:0 and IsAllDay = False, and the fix will be included in our upcoming WinRT SP release.

 

But the scenario you have mentioned in your last update is Scenario I in the previously updated document by us, 2014/4/28 0:0:0 to 2014/4/29 0:0:0 and IsAllDay = True and the current behaviour is not an issue instead it is an expected behaviour as like in MS Outlook. Please refer the comparison  document for the Screenshots of those scenarios.

 

Please let us know, if you need any further assistance.

 

Regards,

Joy Oyiess Rex K



SL Sébastien Lachance April 29, 2014 10:06 PM UTC

Hello Joy,

I want to repeat that there is a bug with the Scenario 1 (2014/4/28 0:0:0 to 2014/4/29 0:0:0 and IsAllDay = True).

In fact, we even notice that in the Week view, the issue is not there. In other words, the scenario 1 is working well in the Week view with the display of 1 full day.

So, in the Month view, the Scenario 1 is spreaded over two days. That's the issue. For your information, the Scenario 1 comes from MS Outlook. We are dealing with the Exchange protocol.

Thank you!
Sébastien



SL Sébastien Lachance April 30, 2014 03:47 AM UTC

Hi,

After an intense evening of debugging, I found out that the issue is on our side during date conversion.

I sincerely apologize.

Thank you
Sébastien



JO Joy Oyiess Rex  K Syncfusion Team April 30, 2014 05:21 AM UTC

Hi Sébastien,

We glad to hear that the issue resolved.

Please let us know, if you need any further assistance.

Regards,
Joy Oyiess Rex K


SL Sébastien Lachance April 30, 2014 12:57 PM UTC

Hello,

After a good sleep, I opened the Syncfusion sample this time and I realized that the bug is really present. The scenario 1 will be displayed on 2 days in the Month view, but in the Week view, it will be displayed correctly.

The Scenario 1 should be indeed be one day. The MS Outlook standard and Microsoft Exchange state that an all day event must start at midnight and end the next day at midnight. Source: http://msdn.microsoft.com/en-us/library/ee203617(v=exchg.80).aspx

An item marked as an all day event is understood to begin on midnight of the current day and to end on midnight of the next day.

Thank You
Sébastien



JO Joy Oyiess Rex  K Syncfusion Team May 1, 2014 04:24 PM UTC

Hi Sébastien,

 

Based on the implementation of SfSchedule,

 

If an AllDay Appointment with StartTime and EndTime on same Day ,

 

For example

 StartDate: 2014/4/28 0:0:0

EndDate: 2014/4/28 0:0:0

IsAllDay: true

 

It will creates an event for single day and follow the terms as mentioned by you.

 

“An item marked as an all day event is understood to begin on midnight of the current day and to end on midnight of the next day”

 

If an AllDay Appointment with StartTime on some Day and EndTime on the NextDay,

 

For example,

 StartDate: 2014/4/28 0:0:0

EndDate: 2014/4/29 0:0:0

IsAllDay: true

 

Then the AllDayAppointment will be spanned for two days, which is the expected behaviour as per the MS Outlook and SfSchedule implementation in all the Views.

 

Please let us know, if you have any concerns.

 

Regards,

Joy Oyiess Rex K



PE Pedro May 8, 2018 08:40 AM UTC

Hello, 

I'm testing Sfcalendar and with one sigle event one date IsAllDay= true, control make the event in all day all months.

Version Xamarin 3.0.0.446417
sfCalendar 16.1.0.37

Code to reproduce.

DateTime diaEntero = DateTime.Now.Date;           CalendarInlineEvent events2 = new CalendarInlineEvent();
            events2.StartTime = diaEntero;
            events2.EndTime = diaEntero;
            events2.Subject = "Meeting";
            events2.Color = Color.Purple;
            events2.IsAllDay = true;
            
            


            CalendarEventCollection collection = new CalendarEventCollection();
            
            collection.Add(events2);

            calendar.DataSource = collection;

Attachment: sfcalendar_1555917a.rar


VA Vinnalan Aravazhi Syncfusion Team May 10, 2018 10:35 AM UTC

Hi Pedro,

Thanks for the update.

Query: SfCalendar with one single event one date IsAllDay= true, control make the event in all day all months.

We have checked the reported issue from our side and we are able to reproduce the reported issue on Android. Fix will be included in our upcoming 2018 Vol 2 release, which will be rolled out by the end of May.

Please let us know if you have any other queries.

Regards,
Vinnalan K A.



Loader.
Up arrow icon