Thank you for contacting Syncfusion support.
Please find the below responses for your queries.
Query1
We have prepared the sample to prevent the entire series editing in past which can be viewed from the below link.
<Code>
function OnBeforeAppointmentChange(args) {
if (args.currentAction == "editSeries") {
if (new Date(args.appointment.changed[0].StartTime).setHours(0, 0, 0, 0) < new Date().setHours(0, 0, 0, 0))
args.cancel = true
}
}
</Code>
Query2
We have prepared the sample to prevent the entire series editing if any one of the its occurrence is edited which can viewed from the below link.
<Code>
function OnBeforeAppointmentChange(args) {
if (args.currentAction == "editSeries") {
parentObj = new ej.DataManager(this._currentAppointmentData).executeLocal(new ej.Query().where("Id", ej.FilterOperators.equal, args.appointment.changed[0].ParentId));
if (parentObj[0].RecurrenceRule.indexOf("EXDATE") != -1)
args.cancel = true;
}
}
</Code>
Regards,
Karthigeyan