private void schedulerControl1_AllowAppointmentConflicts(object sender, AppointmentConflictEventArgs e) { e.Conflicts.Clear(); AppointmentDependencyBaseCollection depCollectionDep = schedulerDataStorage1.AppointmentDependencies.Items.GetDependenciesByDependentId(e.Appointment.Id); if (depCollectionDep.Count > 0) { if (CheckForInvalidDependenciesAsDependent(depCollectionDep, e.AppointmentClone)) { e.Conflicts.Add(e.AppointmentClone); } } AppointmentDependencyBaseCollection depCollectionPar = schedulerDataStorage1.AppointmentDependencies.Items.GetDependenciesByParentId(e.Appointment.Id); if (depCollectionPar.Count > 0) { if (CheckForInvalidDependenciesAsParent(depCollectionPar, e.AppointmentClone)) { e.Conflicts.Add(e.AppointmentClone); } } }
private bool CheckForInvalidDependenciesAsParent(AppointmentDependencyBaseCollection depCollection, Appointment apt) { foreach (AppointmentDependency dep in depCollection) { if (dep.Type == AppointmentDependencyType.FinishToStart) { DateTime checkTime = schedulerDataStorage1.Appointments.Items.GetAppointmentById(dep.DependentId).Start; if (apt.End > checkTime) { return(true); } } } return(false); }