public static async Task <string> ResolveResourceId <TResource>(this IFindByName <TResource> repository, ElementReference reference) where TResource : Resource { var resource = await repository.FindByName(reference.Name); if (resource == null) { throw new KeyNotFoundException($"{typeof(TResource).Name} with name '{reference.Name}' not found."); } return(resource.Id); }
private static TResource LoadResource <TResource>(IFindByName <TResource> finder, ElementIdentifier identifier) where TResource : INamedResource, new() { return(LoadResource(name => finder.FindOne(x => x.Name == name), identifier)); }
private async Task <TResource> LoadResource <TResource>(IFindByName <TResource> finder, ElementIdentifier identifier) where TResource : INamedResource, new() { return(await LoadResource(name => finder.FindOne(x => x.Name == name), identifier)); }