public static void RefreshTable(E_IStocksStore stocksStore, M_IStockDisplayTable stockDisplayTable)
        {
            StockCollection stockCollection = stocksStore.LoadStocks();

            IEnumerable <M_StockWithPrice> stocksWithPrice = AddPriceToStock(stockCollection);

            IEnumerable <M_StockWithPriceAndValue> stocksWithPriceAndValue = CalculateGainAndCurrentValue(stocksWithPrice);

            M_StockWithPriceAndValue total = CalculateTotalCurrentValueAndGain(stocksWithPriceAndValue);

            List <M_StockDisplayData> displayLines = FormatDataForDisplay(stocksWithPriceAndValue, total);

            stockDisplayTable.Render(displayLines);
        }
        public static List <M_StockDisplayData> FormatDataForDisplay(
            IEnumerable <M_StockWithPriceAndValue> stocksWithPriceAndValue, M_StockWithPriceAndValue total)
        {
            var displayLines = stocksWithPriceAndValue.Select(
                s => new M_StockDisplayData(
                    s.Stock.Ticker,
                    s.Price,
                    s.Stock.Shares,
                    s.CurrentValue,
                    s.Gain)).ToList();

            displayLines.Add(new M_StockDisplayData("------", "-", "-", "-"));

            displayLines.Add(new M_StockDisplayData("Total", "-", "-", total.CurrentValue, total.Gain));

            return(displayLines);
        }