public static async Task <IDictionary <Uri, StacItem> > GetItemsAsync(this IStacObject stacObject, Uri baseUri, StacRouter stacRouter) { Dictionary <Uri, StacItem> items = new Dictionary <Uri, StacItem>(); foreach (var itemLink in stacObject.Links.Where(l => !string.IsNullOrEmpty(l.RelationshipType) && l.RelationshipType == "item")) { Uri linkUri = itemLink.Uri; if (!linkUri.IsAbsoluteUri && baseUri.IsAbsoluteUri) { linkUri = new Uri(baseUri, itemLink.Uri); } items.Add(linkUri, await itemLink.CreateStacObject(baseUri, stacRouter.Credentials) as StacItem); } return(items); }
public static async Task <IDictionary <Uri, IStacCatalog> > GetChildrenAsync(this IStacObject stacObject, Uri baseUri, StacRouter stacRouter) { Dictionary <Uri, IStacCatalog> children = new Dictionary <Uri, IStacCatalog>(); foreach (var childLink in stacObject.Links.Where(l => !string.IsNullOrEmpty(l.RelationshipType) && l.RelationshipType == "child")) { Uri linkUri = childLink.Uri; if (!linkUri.IsAbsoluteUri && baseUri.IsAbsoluteUri) { linkUri = new Uri(baseUri, childLink.Uri); } children.Add(linkUri, await childLink.CreateStacObject(baseUri, stacRouter.Credentials) as IStacCatalog); } return(children); }
public static IDictionary <Uri, StacItem> GetItems(this IStacObject stacObject, Uri baseUri, StacRouter stacRouter) { return(GetItemsAsync(stacObject, baseUri, stacRouter).GetAwaiter().GetResult()); }
public static IDictionary <Uri, IStacCatalog> GetChildren(this IStacObject stacObject, Uri baseUri, StacRouter stacRouter) { return(GetChildrenAsync(stacObject, baseUri, stacRouter).GetAwaiter().GetResult()); }