/// <summary> /// Updates the price history for all tickers in the database. /// </summary> private void UpdateAllTickers() { List<Stock> stocks; using (var context = new StockScreenerEntities()) { stocks = context.Stocks.ToList(); } var dataUpdater = new DataUpdater(); dataUpdater.UpdateTickerHistories(stocks); Console.ReadLine(); }
/// <summary> /// Updates the price history for tickers in a watch list. /// </summary> private void UpdateTickersInWatchList() { // First, print a list of watch lists for the user to choose from. this.DisplayWatchLists(); // Prompt the user to select the watch list that will be updated with new data. Console.Write("Select ID of watch list to update. ([Blank] to cancel.) --> "); var input = Console.ReadLine(); if (string.IsNullOrWhiteSpace(input)) { // The user opted to cancel without entering an ID. Console.WriteLine(); return; } int id; if (!int.TryParse(input, out id)) { // Invalid Input -- non-numeric data!!! Console.WriteLine("Invalid input...no watch list was updated."); Console.WriteLine(); return; } using (var context = new StockScreenerEntities()) { var watchLists = context.Watchlists.ToList(); if (watchLists.Count(list => list.ID == id) <= 0) { // Invalid Input -- invalid Watch List ID!!! Console.WriteLine("Invalid input...no watch list was upated."); Console.WriteLine(); } else { // Valid Input -- Update the selected watch list. var dataUpdater = new DataUpdater(); dataUpdater.UpdateTickerHistories(watchLists.First(list => list.ID == id).Stocks); } } }
/// <summary> /// Repopulates the list of tickers in the database from the CSV files downloaded from NASDAQ's website. /// </summary> private void RepopulateTickersInDatabase() { const string NyseFile = @"TickerLists\NyseCompanyList.csv"; const string NasdaqFile = @"TickerLists\NasdaqCompanyList.csv"; if (!File.Exists(NyseFile)) { Console.WriteLine("Error! Cannot find the file containing the list of NYSE stocks (" + NyseFile + ")."); Console.WriteLine("No tickers were updated."); Console.WriteLine(); return; } if (!File.Exists(NasdaqFile)) { Console.WriteLine("Error! Cannot find the file containing the list of NASDAQ stocks (" + NasdaqFile + ")."); Console.WriteLine("No tickers were updated."); Console.WriteLine(); return; } // Create a list of stocks currently listed on the NYSE and NASDAQ var currentStocks = this.ReadStockListForExchange("NYSE", NyseFile); currentStocks.AddRange(this.ReadStockListForExchange("NASDAQ", NasdaqFile)); // Update the database with the list of current stocks. var dataUpdater = new DataUpdater(); dataUpdater.MakeDbStockListCurrent(currentStocks); }