public async Task Create(CarbonClient cc_, string [] basePortfolioNames_) { ClearUp(); m_cc = cc_; setupGrid(); foreach(var basePortfolioName_ in basePortfolioNames_) { var basePortfolio = new Portfolio(basePortfolioName_, null, DisplayOptions.PnlMultiplier); await addPortfolio(parentPortfolio_: null, newPortfolio_: basePortfolio, isInitialLoad_:true); await basePortfolio.GetChildren(cc_: cc_, recurse_: true, isInitialLoad_:true); } setupTimer(); }
private async Task addPortfolio(Portfolio p_, IList<SeriesConfig> list_, ICarbonClient cc_) { if (p_ == null) return; var children = await p_.GetChildren(cc_); var adjustedMoniker = p_.RootName.Replace("ssys.portfolio.",string.Empty); var split = adjustedMoniker.Split('.'); list_.Add(DataFrameSumColumns.CreateConfig( dataframeMoniker_: p_.PnlMoniker, treePath_: string.Format(@"Systematic Strategy Pnl\{0}", string.Join(@"\", split)), moniker_: string.Format("ssys.{0}.pnl", string.Join(".", split)), sourceName_: SourceName)); if(children!=null) foreach (var child in children) await addPortfolio(child, list_, cc_); }