20 using System.Collections.Generic;
34 private readonly Func<SubscriptionRequest, IEnumerable<DateTime>> _tradableDaysProvider;
43 _futureChainProvider = futureChainProvider;
44 _optionChainProvider = optionChainProvider;
45 _tradableDaysProvider = (request => request.TradableDaysInDataTimeZone);
60 var sourceFactory = request.
Configuration.GetBaseDataInstance();
61 foreach (var date
in _tradableDaysProvider(request))
63 IEnumerable<Symbol> symbols;
64 if (request.Configuration.SecurityType.IsOption())
66 symbols = _optionChainProvider.GetOptionContractList(request.Configuration.Symbol, date);
68 else if (request.Configuration.SecurityType ==
SecurityType.Future)
70 symbols = _futureChainProvider.GetFutureContractList(request.Configuration.Symbol, date);
74 throw new NotImplementedException($
"{request.Configuration.SecurityType} is not supported");
79 var exchangeTimeZoneDate = date.ConvertTo(request.Configuration.DataTimeZone, request.ExchangeHours.TimeZone);
80 foreach (var symbol
in symbols)