Esempio n. 1
0
        public static ApiProfiles GetProfiles()
        {
            ServiceProvider serviceProvider;
            var             services = new ServiceCollection();

            services.AddOptions();

            var config = new ConfigurationBuilder()
                         .AddJsonFile("test.settings.json")
                         .Build();

            ApiProfiles profiles       = new ApiProfiles();
            var         profileConfigs = config.GetSection("ApiProfiles").GetChildren();

            profileConfigs.ToList().ForEach(p =>
            {
                profiles.Add(p.Key, p.Get <ApiProfile>());
            });

            config.GetSection("ApiProfiles").Bind(profiles);
            services.AddSingleton(profiles);

            serviceProvider = services.BuildServiceProvider();

            return(serviceProvider.GetRequiredService <ApiProfiles>());
        }
Esempio n. 2
0
        public TaxController(ApiProfiles profiles)
        {
            calculators = AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => x.GetTypes())
                          .Where(x => typeof(ICalculator).IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract)
                          .Select(x => (ICalculator)Activator.CreateInstance(x)).ToList();

            engine = new TaxService(profiles);
        }