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 }); }