Пример #1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            services.AddOptions();

            var opts = new HarvesterOptions();

            Configuration.Bind("Harvester", opts);
            services.AddSingleton(opts);

            var opts2 = new SonicElasticStoreOptions();

            Configuration.Bind("SonicElasticStore", opts2);
            services.AddSingleton(opts2);

            var opts3 = new DataOptions();

            Configuration.Bind("Data", opts3);
            services.AddSingleton(opts3);

            var opts4 = new TaskRunnerDelays();

            Configuration.Bind("ReindexDelays", opts4);
            services.AddSingleton(opts4);

            services.AddSingleton(new PolicyRegistry());

            services.Configure <IntegrationProperties>(Configuration.GetSection("Integration"));

            // Add framework services.
            services.AddMvc(options =>
            {
                options.EnableEndpointRouting = false;
                options.Filters.Add(typeof(ProcessCustomerCodeAttribute));
            }).AddNewtonsoftJson(options =>
            {
                options.SerializerSettings.ContractResolver = new DefaultContractResolver();
            });

            services.AddMemoryCache();
            services.AddHttpClient();

            var containerBuilder = new ContainerBuilder();

            containerBuilder.RegisterModule(new DefaultModule()
            {
                Configuration = Configuration
            });
            containerBuilder.Populate(services);
            var container = containerBuilder.Build();

            return(new AutofacServiceProvider(container));
        }
Пример #2
0
        public ProductImporter(
            HarvesterOptions options,
            DataOptions dataOptions,
            ElasticConfiguration configuration,
            ProductManager manager,
            ILoggerFactory loggerFactory,
            IHttpClientFactory httpClientFactory,
            string customerCode)

        {
            _logger        = loggerFactory.CreateLogger(GetType());
            _manager       = manager;
            _configuration = configuration;
            _options       = options;
            _dataOptions   = dataOptions;
            _customerCode  = customerCode;
            _factory       = httpClientFactory;
        }