private void AddRepositories(IServiceCollection serviceCollection, params Assembly[] assemblies)
        {
            var repositories = AssemblyCrawler.GetTypesImplementing <IRepository>(assemblies);

            foreach (var repository in repositories)
            {
                serviceCollection.AddTransient(repository);
            }
        }
Exemplo n.º 2
0
        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);
            }
        }