private void AddRepositories(IServiceCollection serviceCollection, params Assembly[] assemblies) { var repositories = AssemblyCrawler.GetTypesImplementing <IRepository>(assemblies); foreach (var repository in repositories) { serviceCollection.AddTransient(repository); } }
private void AddMvcControllers(IServiceCollection serviceCollection, params Assembly[] assemblies) { var controllers = AssemblyCrawler.GetTypesImplementing <IController>(assemblies) .Where(controller => controller.Name.EndsWith("Controller", StringComparison.Ordinal)); foreach (var controller in controllers) { serviceCollection.AddTransient(controller); } // adds Web API controller support var apiControllers = AssemblyCrawler.GetTypesImplementing <ApiController>(assemblies) .Where(controller => controller.Name.EndsWith("Controller", StringComparison.Ordinal)); foreach (var apiController in apiControllers) { serviceCollection.AddTransient(apiController); } }