Exemplo n.º 1
0
        void ListChildrensItemsAndAssets(IStacParent catalog, Uri baseUri, string prefix = "", int limit = 2)
        {
            // Get children first (sub catalogs and collections)
            foreach (var childLink in catalog.GetChildrenLinks().Concat(catalog.GetItemLinks()))
            {
                Uri childUri = childLink.Uri;
                if (!childUri.IsAbsoluteUri)
                {
                    childUri = new Uri(baseUri, childUri.ToString());
                }
                IStacObject child = StacConvert.Deserialize <IStacObject>(httpClient.GetStringAsync(childUri).GetAwaiter().GetResult());

                Console.Out.WriteLine(prefix + child.Id + ": " + child.Title);
                if (child is StacCatalog || child is StacCollection)
                {
                    ListChildrensItemsAndAssets(child as IStacParent, childUri, prefix + " ");
                }

                if (child is StacItem)
                {
                    foreach (var asset in (child as StacItem).Assets)
                    {
                        Console.Out.WriteLine(prefix + asset.Key + ": *[" + asset.Value.MediaType + "] " + asset.Value.Uri);
                    }
                }
            }
        }
Exemplo n.º 2
0
 public static IEnumerable <StacLink> GetItemLinks(this IStacParent stacCatalog)
 {
     return(stacCatalog.Links.Where(l => l.RelationshipType == "item"));
 }