Halcyon.HAL.HALResponse.ToJObject C# (CSharp) Méthode

ToJObject() public méthode

public ToJObject ( JsonSerializer serializer ) : Newtonsoft.Json.Linq.JObject
serializer Newtonsoft.Json.JsonSerializer
Résultat Newtonsoft.Json.Linq.JObject
        public JObject ToJObject(JsonSerializer serializer)
        {
            var output = GetBaseJObject(serializer);

            if(this.links.Any()) {
                var linksOutput = new JObject();

                var dtoProps = this.model?.ToDictionary() ?? new Dictionary<string, object>();
                var resolvedLinks = GetResolvedLinks(this.links, dtoProps, this.config.LinkBase);

                foreach(var link in resolvedLinks) {
                    if(link.Value is IEnumerable) {
                        var linksOuput = JArray.FromObject(link.Value);
                        linksOutput.Add(link.Key, linksOuput);
                    } else {
                        var linkOuput = JObject.FromObject(link.Value);
                        linksOutput.Add(link.Key, linkOuput);
                    }
                }

                output.Add(LinksKey, linksOutput);
            }

            if(this.embedded.Any()) {
                var embeddedOutput = EmbeddedToJObject((m) => m.ToJObject(serializer));
                output.Add(EmbeddedKey, embeddedOutput);
            }

            return output;
        }