public ActionResult CallWTDApiForCurrentInfo() { if (ModelState.IsValid) { WorldTradingDataApi newCallToApi = new WorldTradingDataApi(); var request = newCallToApi.MakeApiRequest(); var response = newCallToApi.ReceieveApiResponse(request); List <CallForStockInfo> allStocks = new List <CallForStockInfo>(); CallForStockInfo newStock; var callForStockInfo = newCallToApi.DeserializeResponse(response); for (int stockIndex = 0; stockIndex < WorldTradingDataApi.stocks.Count; stockIndex++) { string symbol = callForStockInfo.data[stockIndex].symbol.ToString(); string price = callForStockInfo.data[stockIndex].price.ToString(); string price_open = callForStockInfo.data[stockIndex].price_open.ToString(); string day_high = callForStockInfo.data[stockIndex].day_high.ToString(); string day_low = callForStockInfo.data[stockIndex].day_low.ToString(); string change_pct = callForStockInfo.data[stockIndex].change_pct.ToString(); string volume_avg = callForStockInfo.data[stockIndex].volume_avg.ToString(); newStock = new CallForStockInfo(symbol, price, price_open, day_high, day_low, change_pct, volume_avg); allStocks.Add(newStock); Database.MoveWorldTradingDataInfoToHistoryOfStocksTable(newStock); Database.AddCurrentWorldTradingDataInfoIntoDatabase(newStock); } } return(RedirectToAction("Index")); }
// GET: CNNmoneyStocks/Details/5 public ActionResult HAPScrapeCNNHotStocks() { if (ModelState.IsValid) { string html = @"https://money.cnn.com/data/hotstocks/index.html"; HtmlWeb web = new HtmlWeb(); HtmlDocument htmlDoc = web.Load(html); List <Stock> stockList = new List <Stock>(); HtmlNodeCollection rowsNodesList = htmlDoc.DocumentNode.SelectNodes("//table[contains(@class, 'wsod_dataTable')]//tr"); int stockId = 1; foreach (var row in rowsNodesList) { stockId++; var cells = row.SelectNodes("td"); if (cells != null && cells.Count > 0) { var companyName = cells[0].InnerText; var price = cells[1].InnerText; var change = cells[2].InnerText; var percentChange = cells[3].InnerText; Stock newStock = new Stock(stockId, companyName, price, change, percentChange); stockList.Add(newStock); Database.AddCNNMoneyIntoDatabase(newStock); } } } return(RedirectToAction("Index")); }