Skip to content

Instantly share code, notes, and snippets.

@rido-min
Created April 8, 2022 16:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rido-min/d01ef6916b806d21fbc240c3a286be38 to your computer and use it in GitHub Desktop.
Save rido-min/d01ef6916b806d21fbc240c3a286be38 to your computer and use it in GitHub Desktop.
ModelsRepositoryClientExtensions
namespace DTDL_scratch
{
using Azure.IoT.ModelsRepository;
using Microsoft.Azure.DigitalTwins.Parser;
internal static class ModelsRepositoryClientExtensions
{
public static async Task<IEnumerable<string>> ParserDtmiResolverAsync(this ModelsRepositoryClient client, IReadOnlyCollection<Dtmi> dtmis)
{
IEnumerable<string> dtmiStrings = dtmis.Select(s => s.AbsoluteUri);
List<string> modelDefinitions = new();
foreach (var dtmi in dtmiStrings)
{
ModelResult result = await client.GetModelAsync(dtmi, ModelDependencyResolution.Disabled);
modelDefinitions.Add(result.Content[dtmi]);
}
return modelDefinitions;
}
public static IEnumerable<string> ParserDtmiResolver(this ModelsRepositoryClient client, IReadOnlyCollection<Dtmi> dtmis)
{
IEnumerable<string> dtmiStrings = dtmis.Select(s => s.AbsoluteUri);
List<string> modelDefinitions = new();
foreach (var dtmi in dtmiStrings)
{
ModelResult result = client.GetModel(dtmi, ModelDependencyResolution.Disabled);
modelDefinitions.Add(result.Content[dtmi]);
}
return modelDefinitions;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment