private void SchedulerControl1_AdditionalAppointmentsDrag(object sender, AdditionalAppointmentsDragEventArgs e) { if (e.AdditionalAppointmentInfos.Count <= 0) { return; } AppointmentDragInfo aptInfo = e.AdditionalAppointmentInfos[0]; // If the end of the main dragged appointment becomes greater than the start of the special appointment, // set the start of the special appointment being dragged to the end of the main dragged appointment. // It prevents overlapping appointments. if (e.PrimaryAppointmentInfos[0].EditedAppointment.End > aptInfo.SourceAppointment.Start) { aptInfo.EditedAppointment.Start = e.PrimaryAppointmentInfos[0].EditedAppointment.End; } }
void OnSchedulerControlAdditionalAppointmentsDrag(object sender, AdditionalAppointmentsDragEventArgs e) { List <AppointmentExchangeData> exchangeList = new List <AppointmentExchangeData>(); foreach (AppointmentDragInfo aptInfo in e.PrimaryAppointmentInfos) { var apt = aptInfo.EditedAppointment; exchangeList.Add(new AppointmentExchangeData() { Subject = apt.Subject, Description = apt.Description, Start = DateTime.MinValue, Duration = apt.Duration, LabelKey = (int)apt.LabelKey, StatusKey = (int)apt.StatusKey }); } e.Data.SetData(DataFormats.Serializable, exchangeList); }