// SCRAPER CODE + SQL QUERIES public ActionResult ScrapeYahoo() { if (ModelState.IsValid) { DateTime myDateTime = DateTime.Now; var connection = @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=StockDatabase;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"; using (SqlConnection sqlConnection = new SqlConnection(connection)) { sqlConnection.Open(); var buttonScraper = new Scrape("*****@*****.**", "SILICONrhode1!"); buttonScraper.LogIn(); buttonScraper.NavigateToPortfolio(); var snapshot = buttonScraper.ScrapeStockData(); foreach (var item in snapshot) { SqlCommand insCommand = new SqlCommand("INSERT INTO [Stocks] (symbol, price, change, pchange, currency, volume, marketcap, scrapetime) VALUES (@symbol, @price, @change, @pchange, @currency, @volume, @marketcap, @scrapetime)", sqlConnection); insCommand.Parameters.AddWithValue("@symbol", item.Symbol.ToString()); insCommand.Parameters.AddWithValue("@price", item.Price.ToString()); insCommand.Parameters.AddWithValue("@change", item.Change.ToString()); insCommand.Parameters.AddWithValue("@pchange", item.PChange.ToString()); insCommand.Parameters.AddWithValue("@currency", item.Currency.ToString()); insCommand.Parameters.AddWithValue("@volume", item.Volume.ToString()); insCommand.Parameters.AddWithValue("@marketcap", item.MarketCap.ToString()); insCommand.Parameters.AddWithValue("@scrapetime", myDateTime); insCommand.ExecuteNonQuery(); } sqlConnection.Close(); db.SaveChanges(); } } return(RedirectToAction("Index")); }