/// <summary> /// Add resources, services and repository implementations to the container. /// </summary> /// <param name="assembly">The assembly to search for resources in.</param> /// <param name="resourceNameFormatter">The type name formatter used to get the string representation of resource names.</param> public ServiceDiscoveryFacade AddAssemblyServices(Assembly assembly, IResourceNameFormatter resourceNameFormatter = null) { AddDbContextResolvers(assembly); AddAssemblyResources(assembly, resourceNameFormatter); AddAssemblyServices(assembly); AddAssemblyRepositories(assembly); return(this); }
/// <summary> /// Adds resources to the graph and registers <see cref="ResourceDefinition{T}"/> types on the container. /// </summary> /// <param name="assembly">The assembly to search for resources in.</param> /// <param name="resourceNameFormatter">The type name formatter used to get the string representation of resource names.</param> public ServiceDiscoveryFacade AddAssemblyResources(Assembly assembly, IResourceNameFormatter resourceNameFormatter = null) { var identifiables = TypeLocator.GetIdentifableTypes(assembly); foreach (var identifiable in identifiables) { RegisterResourceDefinition(assembly, identifiable); AddResourceToGraph(identifiable, resourceNameFormatter); } return(this); }
private void AddResourceToGraph(ResourceDescriptor identifiable, IResourceNameFormatter resourceNameFormatter = null) { var resourceName = FormatResourceName(identifiable.ResourceType, resourceNameFormatter); _graphBuilder.AddResource(identifiable.ResourceType, identifiable.IdType, resourceName); }
/// <summary> /// Add resources, services and repository implementations to the container. /// </summary> /// <param name="resourceNameFormatter">The type name formatter used to get the string representation of resource names.</param> public ServiceDiscoveryFacade AddCurrentAssemblyServices(IResourceNameFormatter resourceNameFormatter = null) => AddAssemblyServices(Assembly.GetCallingAssembly(), resourceNameFormatter);
private string FormatResourceName(Type resourceType, IResourceNameFormatter resourceNameFormatter) { resourceNameFormatter = resourceNameFormatter ?? new DefaultResourceNameFormatter(); return(resourceNameFormatter.FormatResourceName(resourceType)); }
public DefaultRoutingConvention(IJsonApiOptions options, IResourceNameFormatter formatter) { _namespace = options.Namespace; _formatter = formatter; }
/// <inheritdoc /> public IResourceGraphBuilder UseNameFormatter(IResourceNameFormatter resourceNameFormatter) { _resourceNameFormatter = resourceNameFormatter; return(this); }
public ResourceGraphBuilder(IResourceNameFormatter formatter) { _formatter = formatter; }