Example #1
0
        protected void SerializeOther(IJsonWriter writer, OtherModel model, String discriminator, CalculationTicket ticket)
        {
            this.AddDiscriminatorIfAny(writer, discriminator);
            this.expressionWriter.SerializeOnceResolved(model.Benchmark, JsonNames.Benchmark, writer, ticket);
            this.expressionWriter.SerializeOnceResolved(model.Base, JsonNames.Base, writer, ticket);
            this.expressionWriter.SerializeOnceResolved(model.BaseActive, JsonNames.BaseActive, writer, ticket);
            this.expressionWriter.SerializeOnceResolved(model.Overlay, JsonNames.Overlay, writer, ticket);
            this.expressionWriter.SerializeOnceResolved(model.PortfolioAdjustment, JsonNames.PortfolioAdjustment, writer, ticket);
            this.expressionWriter.SerializeOnceResolved(model.PortfolioScaled, JsonNames.PortfolioScaled, writer, ticket);
            this.expressionWriter.SerializeOnceResolved(model.TrueExposure, JsonNames.TrueExposure, writer, ticket);
            this.expressionWriter.SerializeOnceResolved(model.TrueActive, JsonNames.TrueActive, writer, ticket);

            writer.WriteArray(model.BasketCountries, JsonNames.BasketCountries, basketCountry =>
            {
                writer.Write(delegate
                {
                    this.SerializeBasketCountry(writer, basketCountry, JsonNames.BasketCountry, ticket);
                });
            });

            writer.WriteArray(model.UnsavedBasketCountries, JsonNames.UnsavedBasketCountries, unsavedBasketCountry =>
            {
                writer.Write(delegate
                {
                    this.SerializeUnsavedBasketCountry(writer, unsavedBasketCountry, JsonNames.UnsavedBasketCountry, ticket);
                });
            });
        }
 public void SerializeRoot(RootModel root, CalculationTicket ticket, IJsonWriter writer)
 {
     writer.Write(JsonNames.LatestBaseChangeset, delegate
     {
         this.SerializeLatestBaseChangeset(root.LatestBaseChangeset, writer);
     });
     writer.Write(JsonNames.LatestPortfolioTargetChangeset, delegate
     {
         this.SerializeLatestPortfolioTargetChangeset(root.LatestPortfolioTargetChangeset, writer);
     });
     writer.Write(root.Core.TargetingTypeGroup.Id, JsonNames.TargetingTypeGroupId);
     writer.Write(root.Core.Basket.Id, JsonNames.BasketId);
     writer.Write(root.BenchmarkDate, JsonNames.BenchmarkDate);
     writer.WriteArray(root.Core.Securities, JsonNames.Securities, security =>
     {
         writer.Write(delegate
         {
             this.SerializeItem(security, ticket, writer);
         });
     });
     writer.WriteArray(root.Core.Portfolios, JsonNames.Portfolios, portfolio =>
     {
         writer.Write(delegate
         {
             this.SerializePortfolio(portfolio, writer, ticket);
         });
     });
     this.expressionSerializer.SerializeOnceResolved(root.Core.BaseTotal, JsonNames.BaseTotal, writer, ticket);
 }
Example #3
0
        public void SerializeException(Exception exception, ExceptionToJsonSerializerOptions options, IJsonWriter writer)
        {
            writer.Write(exception.Message, "message");

            if (options.IncludeType)
            {
                writer.Write(exception.GetType().Name, "type");
            }

            if (options.IncludeStackTrace)
            {
                var lines = (exception.StackTrace ?? String.Empty).Split('\n').Select(x => x.Trim()).ToArray();
                writer.WriteArray(lines, "stack", line =>
                {
                    writer.Write(line);
                });
            }

            if (options.IncludeInnerExceptions)
            {
                if (exception.InnerException != null)
                {
                    writer.Write("inner", delegate
                    {
                        this.SerializeException(exception.InnerException, options, writer);
                    });
                }
                else
                {
                    writer.WriteNull("inner");
                }
            }
        }
Example #4
0
 public void Serialize(RootModel root, IJsonWriter writer)
 {
     writer.WriteArray(root.GetGroups(), "groups", group =>
     {
         writer.Write(delegate
         {
             this.Serialize(group, writer);
         });
     });
 }
Example #5
0
 protected void Serialize(String message, IEnumerable <IValidationIssue> issues, IJsonWriter writer)
 {
     writer.Write(message, JsonNames.Message);
     writer.WriteArray(issues, JsonNames.Issues, issue =>
     {
         writer.Write(delegate
         {
             this.SerializeValidationIssueOnceResolved(issue, writer);
         });
     });
 }
Example #6
0
 public void SerializeTargetingType(TargetingTypeModel targeting, IJsonWriter writer)
 {
     writer.Write(targeting.Id, "id");
     writer.Write(targeting.Name, "name");
     writer.WriteArray(targeting.Portfolios, "portfolios", portfolio =>
     {
         writer.Write(delegate
         {
             this.SerializePortfolio(portfolio, writer);
         });
     });
 }
Example #7
0
 public void Serialize(TargetingGroupModel group, IJsonWriter writer)
 {
     writer.Write(group.TargetingGroupId, "id");
     writer.Write(group.TargetingGroupName, "name");
     writer.WriteArray(group.GetBaskets(), "baskets", basket =>
     {
         writer.Write(delegate
         {
             this.Serialize(basket, writer);
         });
     });
 }
Example #8
0
 public void SerializeValidationIssuesIfAny(IEnumerable <IValidationIssue> issues, IJsonWriter writer)
 {
     if (issues.Any())
     {
         writer.WriteArray(issues, JsonNames.Issues, issue =>
         {
             writer.Write(delegate
             {
                 this.SerializeValidationIssueOnceResolved(issue, writer);
             });
         });
     }
 }
Example #9
0
        public void Write(IJsonWriter writer)
        {
            switch (JsonType)
            {
            case JsonType.Null:

                writer.WriteNull();

                break;

            case JsonType.Boolean:

                writer.WriteBoolean(AsBool());

                break;

            case JsonType.String:

                writer.WriteString(_string);

                break;

            case JsonType.Number:

                if (_long.HasValue)
                {
                    writer.WriteLong(_long.Value);
                }
                else
                {
                    writer.WriteReal(_real.GetValueOrDefault());
                }

                break;

            case JsonType.Object:

                writer.WriteObject(this);

                break;

            case JsonType.Array:

                writer.WriteArray(this);

                break;
            }
        }
 public void SerializeItem(SecurityModel item, CalculationTicket ticket, IJsonWriter writer)
 {
     writer.Write("security", delegate
     {
         this.securitySerializer.SerializeSecurityOnceResolved(item.Security, writer);
     });
     this.expressionSerializer.SerializeEditable(item.Base, JsonNames.Base, writer);
     this.expressionSerializer.Serialize(item.Benchmark, JsonNames.Benchmark, writer, ticket);
     writer.WriteArray(item.PortfolioTargets, JsonNames.PortfolioTargets, portfolioTarget =>
     {
         writer.Write(delegate
         {
             this.SerializePortfolioTarget(item.Base, portfolioTarget, writer);
         });
     });
 }
Example #11
0
 protected void SerializeGlobe(IJsonWriter writer, GlobeModel root, CalculationTicket ticket)
 {
     this.expressionWriter.SerializeOnceResolved(root.Benchmark, JsonNames.Benchmark, writer, ticket);
     this.expressionWriter.SerializeOnceResolved(root.Overlay, JsonNames.Overlay, writer, ticket);
     this.expressionWriter.SerializeOnceResolved(root.Base, JsonNames.Base, writer, ticket);
     this.expressionWriter.SerializeOnceResolved(root.PortfolioAdjustment, JsonNames.PortfolioAdjustment, writer, ticket);
     this.expressionWriter.SerializeOnceResolved(root.PortfolioScaled, JsonNames.PortfolioScaled, writer, ticket);
     this.expressionWriter.SerializeOnceResolved(root.TrueExposure, JsonNames.TrueExposure, writer, ticket);
     this.expressionWriter.SerializeOnceResolved(root.TrueActive, JsonNames.TrueActive, writer, ticket);
     writer.WriteArray(root.Residents, JsonNames.Residents, resident =>
     {
         writer.Write(delegate
         {
             resident.Accept(new IBreakdownModelResident_Resolver(this, writer, ticket));
         });
     });
 }
Example #12
0
        private void SerializeList(object obj, PdListBase pdList, IJsonWriter jsonWriter)
        {
            var list = pdList.PropertyFabric.GetValue <IList>(obj);

            if (list == null)
            {
                jsonWriter.Write(pdList.NodeName, null);
            }
            else
            {
                using (var jw = jsonWriter.WriteArray(pdList.NodeName))
                {
                    foreach (var itm in list)
                    {
                        SerializeListItem(pdList, itm, null, jw);
                    }
                }
            }
        }
Example #13
0
        private void SerializeDict(object obj, PdDictionary pdDict, IJsonWriter jsonWriter)
        {
            var dict = pdDict.PropertyFabric.GetValue <IDictionary>(obj);

            if (dict == null)
            {
                jsonWriter.Write(pdDict.NodeName, null);
            }
            else
            {
                using (var jw = jsonWriter.WriteArray(pdDict.NodeName))
                {
                    foreach (var key in dict.Keys)
                    {
                        var keyStr = pdDict.KeyFabric.GetValueAsString(key);
                        SerializeListItem(pdDict, dict[key], keyStr, jw);
                    }
                }
            }
        }
Example #14
0
        protected void SerializeOverlay(Overlaying.RootModel overlay, IJsonWriter writer, CalculationTicket ticket)
        {
            writer.WriteArray(overlay.Items, JsonNames.Items, item =>
            {
                writer.Write(delegate
                {
#warning set up a special object for JSON property names in order not to confuse them with string values
                    writer.Write(JsonNames.Portfolio, delegate
                    {
                        this.portfolioSerializer.SerializeBottomUpPortfolio(item.BottomUpPortfolio, writer);
                    });
                    this.expressionWriter.SerializeOnceResolved(
                        item.OverlayFactor,
                        JsonNames.OverlayFactor,
                        writer,
                        ticket
                        );
                });
            });
        }
Example #15
0
 protected void SerializeRegion(IJsonWriter writer, RegionModel model, String discriminator, CalculationTicket ticket)
 {
     this.AddDiscriminatorIfAny(writer, discriminator);
     writer.Write(model.Name, JsonNames.Name);
     this.expressionWriter.SerializeOnceResolved(model.Benchmark, JsonNames.Benchmark, writer, ticket);
     this.expressionWriter.SerializeOnceResolved(model.Base, JsonNames.Base, writer, ticket);
     this.expressionWriter.SerializeOnceResolved(model.BaseActive, JsonNames.BaseActive, writer, ticket);
     this.expressionWriter.SerializeOnceResolved(model.Overlay, JsonNames.Overlay, writer, ticket);
     this.expressionWriter.SerializeOnceResolved(model.PortfolioAdjustment, JsonNames.PortfolioAdjustment, writer, ticket);
     this.expressionWriter.SerializeOnceResolved(model.PortfolioScaled, JsonNames.PortfolioScaled, writer, ticket);
     this.expressionWriter.SerializeOnceResolved(model.TrueExposure, JsonNames.TrueExposure, writer, ticket);
     this.expressionWriter.SerializeOnceResolved(model.TrueActive, JsonNames.TrueActive, writer, ticket);
     writer.WriteArray(model.Residents, JsonNames.Residents, resident =>
     {
         writer.Write(delegate
         {
             resident.Accept(new IRegionModelResident_Resolver(this, writer, ticket));
         });
     });
 }
Example #16
0
 protected void SerializeBasketRegion(IJsonWriter writer, BasketRegionModel model, String discriminator, CalculationTicket ticket)
 {
     this.AddDiscriminatorIfAny(writer, discriminator);
     writer.Write(model.Basket.Id, JsonNames.BasketId);
     writer.Write(model.Basket.Name, JsonNames.Name);
     this.expressionWriter.SerializeOnceResolved(model.Benchmark, JsonNames.Benchmark, writer, ticket);
     this.expressionWriter.SerializeOnceResolved(model.Base, JsonNames.Base, writer, ticket);
     this.expressionWriter.SerializeOnceResolved(model.BaseActive, JsonNames.BaseActive, writer, ticket);
     this.expressionWriter.SerializeOnceResolved(model.Overlay, JsonNames.Overlay, writer, ticket);
     this.expressionWriter.SerializeOnceResolved(model.PortfolioAdjustment, JsonNames.PortfolioAdjustment, writer, ticket);
     this.expressionWriter.SerializeOnceResolved(model.PortfolioScaled, JsonNames.PortfolioScaled, writer, ticket);
     this.expressionWriter.SerializeOnceResolved(model.TrueExposure, JsonNames.TrueExposure, writer, ticket);
     this.expressionWriter.SerializeOnceResolved(model.TrueActive, JsonNames.TrueActive, writer, ticket);
     writer.WriteArray(model.Countries, JsonNames.Countries, country =>
     {
         writer.Write(delegate
         {
             this.SerializeCountry(writer, country.Country);
             this.expressionWriter.SerializeOnceResolved(country.Benchmark, JsonNames.Benchmark, writer, ticket);
             this.expressionWriter.SerializeOnceResolved(country.Overlay, JsonNames.Overlay, writer, ticket);
         });
     });
 }