public void Initialize( RootModel root, SecurityRepository securityRepository, PortfolioRepository portfolioRepository, ManagingPst.PortfolioSecurityTargetRepository portfolioSecurityTargetRepository ) { var allFlatTargets = new List <BuPortfolioSecurityTargetInfo>(); foreach (var overlayItem in root.Factors.Items) { var factor = overlayItem.OverlayFactor.EditedValue; if (!factor.HasValue) { continue; } var flatTargets = this.targetsFlattener.Flatten( overlayItem.BottomUpPortfolio.Id, factor.Value, portfolioSecurityTargetRepository, portfolioRepository ).ToArray(); allFlatTargets.AddRange(flatTargets); var s = allFlatTargets.Sum(a => a.Target); } var resolver = new IsoCodeToOverlayTargetValueResolver(securityRepository, allFlatTargets); this.Initialize(root, resolver); }
public void Initialize(RootModel root, IsoCodeToOverlayTargetValueResolver valueResolver) { //var s = var models = this.traverser.TraverseGlobe(root.Globe); foreach (var model in models) { this.InitializeOnceResolved(model, valueResolver); } }
public InitializeOnceResolved_IModelResolver(OverlayInitializer initializer, IsoCodeToOverlayTargetValueResolver valueResolver) { this.valueResolver = valueResolver; this.initializer = initializer; }
protected void InitializeOnceResolved(IModel model, IsoCodeToOverlayTargetValueResolver valueResolver) { var resolver = new InitializeOnceResolved_IModelResolver(this, valueResolver); model.Accept(resolver); }
protected void Initialize(CountryModel model, IsoCodeToOverlayTargetValueResolver valueResolver) { model.Overlay.InitialValue = valueResolver.ResolveOverlayTargetValue(model.Country.IsoCode, model.Overlay.DefaultValue); }