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"));
        }
Exemplo n.º 2
0
        // 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"));
        }