public AnalyticsViewModel() { Factory = new SourceInstrumentDataFactory(); Mediator.Instance.PortfolioChanged += (s, e) => { UpdateCurrentPortfolio(e.Portfolio); Positions = RepositoryReader.LoadPositions(e.Portfolio); UpdateCurrentPortfolioPrices(e.Portfolio); PortfolioProfit = PortfolioAnalytics.CalculatePortFolioProfit(Positions); PortfolioReturn = PortfolioAnalytics.CalculatePortfolioReturn(Positions); s = this; e.AnalyticList = HistoricalReturnSeries; }; Mediator.Instance.AddPosition += (s, e) => { Positions.Add(e.Position); PortfolioProfit = PortfolioAnalytics.CalculatePortFolioProfit(Positions); PortfolioReturn = PortfolioAnalytics.CalculatePortfolioReturn(Positions); s = this; e.AnalyticList = HistoricalReturnSeries; }; }