public virtual IEnumerable <LocalInterval> GetIntervals(LocalInterval interval, DateTimeZone destinationTimezone)
        {
            var maskIntervals    = mask.GetIntervals(interval, destinationTimezone);
            var contentIntervals = payload.GetIntervals(interval, destinationTimezone);

            return(TimeMathOld.Intersection(contentIntervals, maskIntervals).OrderBy(i => i.Start));
        }
        public IEnumerable <LocalInterval> GetIntervals(LocalInterval interval = null)
        {
            var maskIntervals    = mask.GetIntervals(interval);
            var contentIntervals = payload.GetIntervals(interval);

            return(TimeMathOld.Intersection(contentIntervals, maskIntervals).OrderBy(i => i.Start));
        }
示例#3
0
        protected virtual IEnumerable <LocalInterval> GetLocalIntervalsBase(LocalInterval interval = null)
        {
            if (interval == null)
            {
                return(mask.Select(i => i.Clone()));
            }
            if (!interval.Start.HasValue || !interval.End.HasValue)
            {
                throw new ArgumentOutOfRangeException("interval", "Cannot request holidays for an unbounded range");
            }

            return(TimeMathOld.Intersection(mask, interval));
        }