public ActionResult <List <Quote> > Get(string symbols) { { var quoteSymbols = symbols.Split(',').ToList(); return(_alphaClientLogic.GetQuotes(quoteSymbols).GetAwaiter().GetResult()); } }
public ActionResult <RebalanceResult> Rebalance(string id) { { Portfolio portfolio = _portfolioDataAccess.GetPortfolio(id).GetAwaiter().GetResult(); var symbols = portfolio.AllStocks.Select(s => s.Symbol).ToList(); var quotes = _alphaClientLogic.GetQuotes(symbols).GetAwaiter().GetResult(); var dataSet = new RebalanceDataSet { Portfolio = portfolio, Quotes = quotes }; return(_rebalanceLogic.Rebalance(dataSet, false)); } }
public async Task Rebalance() { var portfolio = await _portfolioDataAccess.GetPortfolio("5d80d0587d2d4657d8e1fe8f"); var symbols = portfolio.AllStocks.Select(s => s.Symbol).ToList(); var quotes = await _alphaClient.GetQuotes(symbols); portfolio.CashOnHand += 500; RebalanceDataSet dataSet = new RebalanceDataSet { Portfolio = portfolio, Quotes = quotes }; var result = _rebalanceLogic.Rebalance(dataSet, false); foreach (var action in result.Actions) { Console.WriteLine($"{action.ActionType} {action.Amount} shares of {action.Symbol}"); } Console.WriteLine($"${result.RemainingCashOnHand} remaining"); }