public static bool TryCreate(TimeseriesSourceKey sourceKey, out ITimeseriesSource timeseriesSource)
 {
     timeseriesSource = null;
     if (String.Equals(sourceKey.Key.Scheme, _schemeType))
     {
         timeseriesSource = new DMXTimeseriesSource(sourceKey);
     }
     return(timeseriesSource != null);
 }
        public DMXTimeseriesSource(TimeseriesSourceKey sourceKey)
        {
            SourceKey = sourceKey;

            var strConn = $"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={sourceKey.Key.LocalPath}";

            _connection = new OleDbConnection(strConn);

            _connection.Open();
        }
        // TODO [jc]: Create separate initializers for metadata and observations
        public NullTimeseries(TimeseriesSourceKey sourceKey, TimeseriesKey seriesKey, IEnumerable <string> headerList)
        {
            SourceKey = sourceKey;
            SeriesKey = seriesKey;

            foreach (var header in headerList)
            {
                var observationValue = new Random().NextDouble();
                _metadata.Add(header, $"{SourceKey.Key}|{SeriesKey.Key}|{header}|{observationValue}");
            }
        }
        private static ITimeseriesSource CreateSource(string key)
        {
            var sourceKey = new TimeseriesSourceKey(key);
            ITimeseriesSource source;

            // loop through all ITimeseriesSource implementations here
            if (NullTimeseriesSource.TryCreate(sourceKey, out source))
            {
                return(source);
            }

            if (DMXTimeseriesSource.TryCreate(sourceKey, out source))
            {
                return(source);
            }

            if (ECOSTimeseriesSource.TryCreate(sourceKey, out source))
            {
                return(source);
            }

            throw new UnknownTimeseriesSourceException();
        }
 internal DMXTimeseries(TimeseriesSourceKey sourceKey, TimeseriesKey seriesKey, Dictionary <string, double> observations) : this(sourceKey, seriesKey)
 {
     _observations = observations;
 }
 internal DMXTimeseries(TimeseriesSourceKey sourceKey, TimeseriesKey seriesKey, Dictionary <string, string> metadata) : this(sourceKey, seriesKey)
 {
     _metadata = metadata;
 }
 internal DMXTimeseries(TimeseriesSourceKey sourceKey, TimeseriesKey seriesKey)
 {
     SourceKey = sourceKey;
     SeriesKey = seriesKey;
     Status    = new StatusInformation();
 }
 public ECOSTimeseriesSource(TimeseriesSourceKey sourceKey)
 {
     SourceKey  = sourceKey;
     DatabaseID = sourceKey.Key.LocalPath.Trim('\\');
 }
 internal EcOSTimeseries(TimeseriesSourceKey sourceKey, TimeseriesKey seriesKey)
 {
     SourceKey = sourceKey;
     SeriesKey = seriesKey;
 }
 private NullTimeseriesSource(TimeseriesSourceKey sourceKey)
 {
     SourceKey   = sourceKey;
     _seriesList = new Dictionary <TimeseriesKey, NullTimeseries>();
 }