19 using System.Collections;
20 using System.Collections.Generic;
29 private DateTime _endTime;
44 public List<BaseData>
Data {
get;
set; }
49 public override DateTime
EndTime
53 if (_endTime ==
default)
70 : this(DateTime.MinValue,
Symbol.Empty)
81 : this(time, time, symbol, data)
94 public BaseDataCollection(DateTime time, DateTime endTime,
Symbol symbol, IEnumerable<BaseData> data =
null,
BaseData underlying =
null, HashSet<Symbol> filteredContracts =
null)
95 : this(time, endTime, symbol, data != null ? data.ToList() : new List<
BaseData>(), underlying, filteredContracts)
115 if (data !=
null && data.Count == 1 && data[0] is
BaseDataCollection collection && collection.
Data.Count > 0)
118 Data = collection.Data;
122 Data = data ??
new List<BaseData>();
133 var ticker = $
"{GetType().Name}-{market}-{Guid.NewGuid()}";
148 return Data[0].GetType() == GetType() ||
Data[0].ShouldCacheToSecurity();
157 Data.Add(newDataPoint);
164 public virtual void AddRange(IEnumerable<BaseData> newDataPoints)
166 Data.AddRange(newDataPoints);
187 return (
Data ?? Enumerable.Empty<
BaseData>()).GetEnumerator();
194 IEnumerator IEnumerable.GetEnumerator()