Hi Jan,
Thanks for the update.
We have validated both the queries at our end and for that, we have prepared a CRUD sample and it can be downloaded from the following link,
Q1: Aren't the fields "RecurrenceId" and "ReccurenceDateEx" necessary for calculating the correct appointments? If not, why do these fields exist?
If we edit a particular occurrence from a Recurrence event series and display it on the initial load of Scheduler, the edited occurrence needs to be added as a new event to the dataSource collection, with an additional RecurrenceID field defined to it. The RecurrenceID field of edited occurrence usually maps the ID value of the parent event.
For instance, in the above sample, a recurring instance that displays on the date 25th April 2018 is edited with different timings. Therefore, this particular date is excluded from the parent recurring event that repeats from 23rd April 2018 to 25th April 2018. This can be done by adding the RecurrenceException field with the excluded date value on the parent event. Also, the edited occurrence event which is created as a new event should carry the RecurrenceID field pointing to the parent event’s Id value.
And the same can be viewed in the above sample and also we have taken a screenshot of the events collection of the above sample,
And for further reference, kindly refer the below UG link,
Q2: As for the ical export, we can do this server side, but need a full list of all appointments between 2 dates server side
For this query, we suspect that your requirement is to get the event collections based on the dates and for that, we have rendered the Scheduler events based on the Scheduler current view rendering dates in that you can render you own customized dates (i.e.,) the events to get from the event collections based on those dates and for further reference, kindly refer the below code snippet and the same can be viewed in the above sample.
Code snippet:
|
public JsonResult LoadData(Params param) // Here we get the Start and End Date and based on that can filter the data and return to Scheduler
{
DateTime start = param.StartDate;
DateTime end = param.EndDate;
var data = db.ScheduleEventDatas.Where(app => (app.StartTime >= start && app.StartTime <= end) || (app.RecurrenceRule != null && app.RecurrenceRule != "")).ToList(); // Here filtering the events based on the start and end date value.
return Json(data, JsonRequestBehavior.AllowGet);
} |
Kindly try the above solution and get back to us if you need any further assistance.
Regards,
Hareesh