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); }