Exemplo 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)
            : base(axis, scaleWidth, minPos, maxPos)
        {
            TimeRangeCollection = allies;

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