public DataSeriesObject(IDataSeries series, DateTime dateTime1, DateTime dateTime2, EventQueue dataQueue, DataProcessor processor) { this.queue = new EventQueue(EventQueueId.All, EventQueueType.Master, EventQueuePriority.Normal, 128, null); this.series = series; this.dataQueue = dataQueue; this.processor = processor ?? new DataProcessor(); this.index1 = dateTime1 == DateTime.MinValue || dateTime1 < series.DateTime1 ? 0 : series.GetIndex(dateTime1, SearchOption.Next); this.index2 = dateTime2 == DateTime.MaxValue || dateTime2 > series.DateTime2 ? series.Count - 1 : series.GetIndex(dateTime2, SearchOption.Prev); this.current = this.index1; this.delta = (int)Math.Ceiling((this.index2 - this.index1 + 1) / 100.0); this.count = this.delta; this.percent = 0; }