private void ProcessPropertyValue(IHypermediaResolver resolver, List <CuriesLink> curies, IEnumerable <IResource> resources) { var resourceList = resources.ToList(); var relationName = resources is IResourceList list ? list.RelationName : resourceList.FirstOrDefault()?.Rel ?? string.Empty; var embeddedResource = new EmbeddedResource { IsSourceAnArray = true, RelationName = relationName }; foreach (var resourceItem in resourceList) { embeddedResource.Resources.Add(resourceItem); if (!(resourceItem is Representation representation)) { continue; } representation.RepopulateRecursively(resolver, curies); // traverse ... var link = representation.ToLink(resolver); if (link != null) { Links.Add(link); // add a link to embedded to the container ... } } Embedded.Add(embeddedResource); }
void ProcessPropertyValue(IHypermediaResolver resolver, List <CuriesLink> curies, IResource resource) { var embeddedResource = new EmbeddedResource { IsSourceAnArray = false }; embeddedResource.Resources.Add(resource); Embedded.Add(embeddedResource); var representation = resource as Representation; if (representation == null) { return; } representation.RepopulateRecursively(resolver, curies); // traverse ... var link = representation.ToLink(resolver); if (link != null) { Links.Add(link); // add a link to embedded to the container ... } }
void ProcessPropertyValue(IHypermediaResolver resolver, List <CuriesLink> curies, IEnumerable <IResource> resources) { var resourceList = resources.ToList(); if (!resourceList.Any()) { return; } var embeddedResource = new EmbeddedResource { IsSourceAnArray = true }; foreach (var resourceItem in resourceList) { embeddedResource.Resources.Add(resourceItem); var representation = resourceItem as Representation; if (representation == null) { continue; } representation.RepopulateRecursively(resolver, curies); // traverse ... var link = representation.ToLink(resolver); if (link != null) { Links.Add(link); // add a link to embedded to the container ... } } Embedded.Add(embeddedResource); }
public void AddEmbedded(string page) { Embedded ??= new(); Embedded.Add(page); }