protected override void Drop(SchedulingDragDropState state)
        {
            state.DestinationSlot.End   = SnappingHelper.RoundUpDateTime(state.DestinationSlot.End);
            state.DestinationSlot.Start = SnappingHelper.RoundUpDateTime(state.DestinationSlot.Start);

            base.Drop(state);
        }
        protected override void Resize(SchedulingResizeState state)
        {
            if (state.IsResizeFromEnd)
            {
                state.DestinationSlot.End = SnappingHelper.RoundUpDateTime(state.DestinationSlot.End);
            }
            else
            {
                state.DestinationSlot.Start = SnappingHelper.RoundUpDateTime(state.DestinationSlot.Start);
            }

            base.Resize(state);
        }
        public static DateTime RoundUpDateTime(DateTime dateTime)
        {
            DateTime result;

            if (dateTime.Hour >= 12)
            {
                result = SnappingHelper.RoundUpToNextDay(dateTime);
            }
            else
            {
                result = new DateTime(dateTime.Year, dateTime.Month, dateTime.Day);
            }

            return(result);
        }