private IStockQuoteDataSource CreateStockSource(Contracts.StockQuoteSource sourceKind)
        {
            switch (sourceKind)
            {
            case Contracts.StockQuoteSource.Yahoo:
                IStockQuoteParser yahooParser = new YahooFinanceParser();
                return(new YahooFinanceDataSource(_configuration, _dataSourceOperations, yahooParser));

            case Contracts.StockQuoteSource.AlphaVantage:
                IStockQuoteParser alphaVantageParser = new AlphaVantageParser();
                return(new AlphaVantageDataSource(_configuration, _dataSourceOperations, alphaVantageParser));

            case Contracts.StockQuoteSource.Test:
                // There is no test data source required
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(sourceKind), sourceKind, null);
            }

            return(null);
        }
Esempio n. 2
0
 /// <summary>
 /// ctor of StockDataSourceBase
 /// </summary>
 /// <param name="configuration"></param>
 /// <param name="source"></param>
 /// <param name="operations"></param>
 protected StockDataSourceBase(IConfiguration configuration, Contracts.StockQuoteSource source, IStockQuoteDataSourceOperations operations)
 {
     Configuration = configuration;
     Source        = source;
     Operations    = operations;
 }