コード例 #1
0
        private void bwHousebreakPopulator_DoWork(object sender,
                                                  DoWorkEventArgs e)
        {
            BackgroundWorker worker  = sender as BackgroundWorker;
            List <Ticker>    tickers = dbAccessLayer.GetTickerObjects();



            IStockScreener stockScreener = new StockScreener();

            List <HouseBreakReport> AllStocksHouseBreakReport = new List <HouseBreakReport>();
            int tickerCount = 1;

            foreach (Ticker ticker in tickers)
            {
                List <BhavCopy>         quotesList  = dbAccessLayer.GetQuotes(ticker.Ticker1);
                List <HouseBreakReport> houseBreaks = HousebreakScanner.GenerateHousebreakReport(quotesList, new DateTime(2018, 1, 1));
                if (houseBreaks.Count > 0)
                {
                    dbAccessLayer.PopulateHousebreaks(ticker, houseBreaks);
                    tickerCount++;
                    int    percentage      = (100 * tickerCount) / tickers.Count;
                    string progressMessage = "";
                    progressMessage = $"{tickerCount} Bhav Copies of {tickers.Count} in Progress.";
                    worker.ReportProgress(percentage, progressMessage);
                }
            }
        }
コード例 #2
0
        private async Task QueryFinViz(string symbol)
        {
            var stockScreener = new StockScreener(symbol);
            var finVizData    = stockScreener.ScrapeWeb();

            if (FinVizItemExists(symbol))
            {
                await PutFinVizItem(symbol, finVizData);
            }
            else
            {
                await PostFinVizItem(finVizData);
            }
        }