protected PortfolioModel SerializePortfolio(Core.PortfolioModel model, CalculationTicket ticket) { var result = new PortfolioModel( this.serializer.SerializeBroadGlobalActivePorfolio(model.Portfolio), this.serializer.SerializeNullableExpression(model.PortfolioTargetTotal, ticket) ); return(result); }
public void SerializePortfolio(PortfolioModel portfolio, IJsonWriter writer, CalculationTicket ticket) { writer.Write(portfolio.Portfolio.Id, JsonNames.Id); this.expressionSerializer.SerializeOnceResolved( portfolio.PortfolioTargetTotal, JsonNames.PortfolioTargetTotal, writer, ticket ); }
protected Core.PortfolioModel DeserializePortfolio(PortfolioModel model, IEnumerable <Core.SecurityModel> securities) { var broadGlobalActiveProfolio = this.deserializer.DeserializeBroadGlobalActivePorfolio(model.BroadGlobalActivePortfolio); var portfolioTargetTotalExpression = this.modelBuilder.CreatePortfolioTargetTotalExpression(broadGlobalActiveProfolio, securities); var result = new Core.PortfolioModel( broadGlobalActiveProfolio, portfolioTargetTotalExpression ); return(result); }
protected void Validate(PortfolioModel portfolio, CalculationTicket ticket, List <IValidationIssue> issues) { issues.AddRange(portfolio.PortfolioTargetTotal.Validate(ticket)); }