internal DataSeriesObject(IDataSeries series, DateTime dateTime1, DateTime dateTime2, EventQueue queue, DataProcessor processor) { this.series = series; eventQueue = queue; if (processor == null) { this.processor = new DataProcessor(); } else { this.processor = processor; } if (!(dateTime1 == DateTime.MinValue) && (dateTime1 >= series.DateTime1)) { index1 = series.GetIndex(dateTime1, SearchOption.Next); } else { index1 = 0L; } if (!(dateTime2 == DateTime.MaxValue) && (dateTime2 <= series.DateTime2)) { index2 = series.GetIndex(dateTime2); } else { index2 = series.Count - 1L; } current = index1; progressDelta = (int)Math.Ceiling(Count() / 100.0); progressCount = progressDelta; progressPercent = 0; }
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; }