DateTime GetCurrentDateTime() { HitTimeCellInfo hitTimeCellInfo = HitTimeCellInfo; if (hitTimeCellInfo == null) { return(prevDate); } prevDate = hitTimeCellInfo.ViewInfo.Interval.Start + hitTimeCellInfo.TimeShift; return(prevDate); }
protected virtual void AppointmentResizeHandler(object sender, AppointmentResizeEventArgs e) { HitTimeCellInfo hitTimeCellInfo = HitTimeCellInfo; if (hitTimeCellInfo == null) { return; } Rect timeCellBounds = hitTimeCellInfo.Bounds; double borderPos = 0d; double mousePosition = 0d; if (control.ActiveViewType == SchedulerViewType.Timeline) { mousePosition = MousePosition.X; borderPos = e.ResizedSide == ResizedSide.AtStartTime ? timeCellBounds.X : timeCellBounds.X + timeCellBounds.Width; } else { borderPos = e.ResizedSide == ResizedSide.AtStartTime ? timeCellBounds.Y : timeCellBounds.Y + timeCellBounds.Height; mousePosition = MousePosition.Y; } if (Math.Abs(mousePosition - borderPos) > 1) { TimeSpan cellTimeShift = hitTimeCellInfo.TimeShift; if (e.ResizedSide == ResizedSide.AtStartTime) { if (e.SourceAppointment.End > e.HitInterval.Start + cellTimeShift) { e.EditedAppointment.Start = e.HitInterval.Start + cellTimeShift; e.EditedAppointment.End = e.SourceAppointment.End; } } else if (e.HitInterval.Start + cellTimeShift > e.SourceAppointment.Start) { e.EditedAppointment.Start = e.SourceAppointment.Start; e.EditedAppointment.End = e.HitInterval.Start + cellTimeShift; } e.Handled = true; } }