Scheduler - Delete series does not add amended occurences to the "DeletedRecords" property when Delete Series is selected

  • If TValue of scheduler has just RecurrenceId property, recurrence works but DeletedRecords is not correctly populated.
  • If TValue of scheduler has just RecurrenceID property, recurrence does not work but DeletedRecords is correctly populated.
  • If TValue of scheduler has both RecurrenceId and RecurrenceID property, recurrence does not work but DeletedRecords is correctly populated.
Example attached using version 19.1.0.59.

Inside OnActionBegin handler, is it correct that ChangedRecords is populated instead of DeletedRecords when action type is EventRemove?

Attachment: Schedule__DeleteSeries_bug_d458ec27.zip

3 Replies 1 reply marked as answer

NR Nevitha Ravi Syncfusion Team May 11, 2021 12:46 PM UTC

Hi Lee, 

Greetings from Syncfusion Support. 

 We have checked the shared sample and let you know that reported issue is due to RecurrenceID field mapping. Please use Nullable<int> type for RecurrenceID to properly work on recurrence cases. And for the same, we have modified your shared sample which can be downloaded from the following link. 

public class RecurrenceIDEventData 
    { 
        public int Id { get; set; } 
        public int UserId { get; set; } 
        public int ProjectId { get; set; } 
        public string ProjectName { get; set; } 
        public string Subject { get; set; } 
        public string Subtitle { get; set; } 
        public DateTime StartTime { get; set; } 
        public DateTime EndTime { get; set; } 
        public Nullable<int> RecurrenceID { get; set; } 
        public string RecurrenceRule { get; set; } 
        public string RecurrenceException { get; set; } 
    } 
 
 
    public static class EventDataFactory 
    { 
 
        public static List<RecurrenceIDEventData> GetRecurrenceIDEvents() 
        { 
            List<RecurrenceIDEventData> data = new List<RecurrenceIDEventData>() 
            { 
                new RecurrenceIDEventData() 
                { 
                    Id = 1, 
                    Subject = "Meeting", 
                    Subtitle = "Lunch", 
                    StartTime = new DateTime(2021, 5, 3, 12, 0, 0), 
                    EndTime = new DateTime(2021, 5, 3, 13, 0, 0), 
                    RecurrenceRule = "FREQ=WEEKLY;BYDAY=MO;INTERVAL=1;COUNT=10;", 
                    RecurrenceException = "20210510T120000Z" 
                }, 
                new RecurrenceIDEventData() 
                { 
                    Id = 2, 
                    Subject = "Meeting", 
                    Subtitle = "Lunch", 
                    StartTime = new DateTime(2021, 5, 11, 12, 0, 0), 
                    EndTime = new DateTime(2021, 5, 11, 13, 0, 0), 
                    RecurrenceID = 1, //RecurrenceID should be mapped only to edited occurences 
                    RecurrenceRule = string.Empty, 
                    RecurrenceException = string.Empty 
                } 
            }; 
 
            return data; 
        } 
    } 

Please try the above solution and let us know if you need any further assistance. 

Regards, 
Nevitha  



LS Lee Stevens May 11, 2021 01:02 PM UTC

Hi Nevitha,

This seems to be the same as my other issue. To clarify, RecurrenceID should always be used. RecurrenceId is merely a typo?

Thanks again.


NR Nevitha Ravi Syncfusion Team May 12, 2021 04:36 AM UTC

 Hi Lee, 

Thanks for your update. 

Yes you should use either RecurrenceID or map you field name in FieldRecurrenceId as follows. 

<ScheduleField Id="Id"> 
            <FieldStartTime Name="StartTime"></FieldStartTime> 
            <FieldEndTime Name="EndTime"></FieldEndTime> 
            <FieldIsAllDay Name="IsAllDay"></FieldIsAllDay> 
            <FieldRecurrenceId Name="RecurrenceId"></FieldRecurrenceId> 
        </ScheduleField>  

Please get back to us if you need any further assistance. 

Regards, 
Nevitha  


Marked as answer
Loader.
Up arrow icon