private void RemoveNonWorkingTime(TimeIntervalCollectionEx freeIntervals, DateTime date) { DateTime clientDate = TimeZoneHelper.ToClientTime(date).Date; TimeInterval clientNonWorkingTime = new TimeInterval(clientDate + NonWorkingTime.Start, clientDate + NonWorkingTime.End); freeIntervals.Remove(TimeZoneHelper.FromClientTime(clientNonWorkingTime)); }
private void RemoveNonWorkingDay(TimeIntervalCollectionEx freeIntervals, DateTime date) { DateTime clientDate = TimeZoneHelper.ToClientTime(date).Date; bool isWorkDay = schedulerControl1.WorkDays.IsWorkDay(clientDate); if (!isWorkDay) { TimeInterval clientInterval = new TimeInterval(clientDate, TimeSpan.FromDays(1)); freeIntervals.Remove(TimeZoneHelper.FromClientTime(clientInterval)); } }
private void OnIntervalFound(object sender, IntervalFoundEventArgs args) { TimeIntervalCollectionEx freeIntervals = args.FreeIntervals; DateTime start = freeIntervals.Start.Date.AddDays(-1); DateTime end = freeIntervals.End; while (start < end) { RemoveNonWorkingTime(freeIntervals, start); RemoveNonWorkingDay(freeIntervals, start); start += TimeSpan.FromDays(1); } }