Esempio n. 1
0
        //  [Authorize]
        public ActionResult NewScrape()
        {
            if (ModelState.IsValid)
            {
                var scrape = new Scrape("webdriverproj", "Monkeys123");

                scrape.LogIn();
                scrape.NavigateToYahooFinance();
                scrape.ScrapeStockData();
            }
            return(Redirect("Index"));
        }
        // 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"));
        }