Hi Vladimir,
We have modified the below sample, kindly refer it.
<Code>
beforeAppointmentCreate: "OnBeforeAppointmentCreate",
beforeAppointmentChange: "OnEdit",
dragStop: "OnEdit",
resizeStop: "OnResize"
function OnBeforeAppointmentCreate(args) {
if (ej.isNullOrUndefined(args.appointment[0]))
app = args.appointment;
else
app = args.appointment[0];
overlapList = this._overlapApp(app["AppTaskId"], app[this._appointmentSettings["startTime"]], app[this._appointmentSettings["endTime"]], "");
if (overlapList.length > 0)
args.cancel = true;
}
function OnEdit(args) {
if (args.type == "beforeAppointmentChange") {
app = args.appointment.changed[0];
}
else {
if (ej.isNullOrUndefined(args.appointment[0]))
app = args.appointment;
else
app = args.appointment[0];
}
var predicate1 = ej.Predicate(this._appointmentSettings["startTime"], ej.FilterOperators.lessThanOrEqual, app.StartTime).and(this._appointmentSettings["endTime"], ej.FilterOperators.greaterThanOrEqual, app.EndTime);
var predicate2 = ej.Predicate(this._appointmentSettings["startTime"], ej.FilterOperators.greaterThanOrEqual, app.StartTime).and(this._appointmentSettings["endTime"], ej.FilterOperators.lessThanOrEqual, app.EndTime);
var predicate = predicate2["or"](predicate1);
var overlapList = new ej.DataManager(this._processed).executeLocal(new ej.Query().where(predicate1));
var predicate12 = ej.Predicate(this._appointmentSettings["id"], ej.FilterOperators.notEqual, app.Id);
var overlapNewList = new ej.DataManager(overlapList).executeLocal(new ej.Query().where(predicate12));
if (overlapNewList.length > 0)
args.cancel = true;
}
function OnResize(args) {
overlapList = this._overlapApp(args.appointment["AppTaskId"], args.appointment[this._appointmentSettings["startTime"]], args.appointment[this._appointmentSettings["endTime"]], null);
if (overlapList.length > 1)
args.cancel = true;
}
</Code>
Regards,
Karthigeyan