public async Task <ActionResult> ListDetails()
        {
            ViewBag.Message = "Stock Watch List Details";

            var stockSymbols = await StockSymbolProcessor.LoadSymbols();

            //Return a list of StockModel from DashboardData.Library.Models
            var stockDetailList = new List <StockModel>();

            try
            {
                stockDetailList = await StockDetailProcessor.GetStockDetails(stockSymbols);
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }


            //Map returned list to StockDetailModel
            List <StockDetailModel> stockDetailResults = new List <StockDetailModel>();

            foreach (var stock in stockDetailList)
            {
                stockDetailResults.Add(new StockDetailModel
                {
                    Symbol               = stock.Symbol,
                    DisplayName          = stock.DisplayName,
                    RegularMarketPrice   = stock.RegularMarketPrice,
                    FiftyDayAverage      = stock.FiftyDayAverage,
                    TwoHundredDayAverage = stock.TwoHundredDayAverage,
                    MarketCap            = stock.MarketCap,
                    FullExchangeName     = stock.FullExchangeName,
                    FiftyTwoWeekLow      = stock.FiftyTwoWeekLow,
                    FiftyTwoWeekHigh     = stock.FiftyTwoWeekHigh
                });
            }

            //Sort list by market cap (descending)
            stockDetailResults.Sort((s1, s2) => s2.MarketCap.CompareTo(s1.MarketCap));

            return(View(stockDetailResults));
        }
        public ActionResult ListDetails()
        {
            ViewBag.Message = "Stock Watch List Details";

            var           stockSymbols   = StockSymbolProcessor.LoadSymbols();
            List <string> stockSymbolStr = new List <string>();

            foreach (var stock in stockSymbols)
            {
                stockSymbolStr.Add(stock.StockSymbol.Trim().ToUpper());
            }

            //Return a list of StockModel from DashboardData.Library.Models
            var stockDetailList = StockDetailProcessor.GetStockDetails(stockSymbolStr).Result;

            //Map returned list to StockDetailModel
            List <StockDetailModel> stockDetailResults = new List <StockDetailModel>();

            foreach (var stock in stockDetailList)
            {
                stockDetailResults.Add(new StockDetailModel
                {
                    Symbol               = stock.Symbol,
                    DisplayName          = stock.DisplayName,
                    RegularMarketPrice   = stock.RegularMarketPrice,
                    FiftyDayAverage      = stock.FiftyDayAverage,
                    TwoHundredDayAverage = stock.TwoHundredDayAverage,
                    MarketCap            = stock.MarketCap,
                    FullExchangeName     = stock.FullExchangeName,
                    FiftyTwoWeekLow      = stock.FiftyTwoWeekLow,
                    FiftyTwoWeekHigh     = stock.FiftyTwoWeekHigh
                });
            }

            //Sort list by market cap (descending)
            stockDetailResults.Sort((s1, s2) => s2.MarketCap.CompareTo(s1.MarketCap));

            return(View(stockDetailResults));
        }