Esempio n. 1
0
        public static TimeRangeCollection Divide(TimeRange range)
        {
            TimeRangeCollection list = new TimeRangeCollection();

            list.Kind = GetKind(range);

            var currentDateTime = range.StartDateTime;

            while (currentDateTime < range.EndDateTime)
            {
                var endDate = GetRangeEndDateTime(list.Kind, currentDateTime);
                if (endDate > range.EndDateTime)
                {
                    endDate = range.EndDateTime;
                }

                list.Add(new TimeRange()
                {
                    StartDateTime = currentDateTime,
                    EndDateTime   = endDate
                });
                currentDateTime = endDate;
            }

            return(list);
        }
        public TimelineGenerator(ICollection <TimelineAxis> axis, TimeRangeCollection allies, double scaleWidth, double minPos, double maxPos)
        {
            AxisDataCollection  = axis;
            TimeRangeCollection = allies;

            _minPos     = minPos;
            _maxPos     = maxPos;
            _scaleWidth = scaleWidth;

            _timePosConverter = new DateTimeAndPosConverter(minPos, maxPos, new TimeRange()
            {
                StartDateTime = TimeRangeCollection.First().StartDateTime,
                EndDateTime   = TimeRangeCollection.Last().EndDateTime
            });
        }