Пример #1
0
        public override void Initialize()
        {
            //#region Payment gateways manager

            //_container.RegisterType<IPaymentGatewayManager, InMemoryPaymentGatewayManagerImpl>(new ContainerControlledLifetimeManager());

            //#endregion

            #region Commerce

            _container.RegisterType <IСommerceRepository>(new InjectionFactory(c => new CommerceRepositoryImpl(_connectionStringName, new EntityPrimaryKeyGeneratorInterceptor(), _container.Resolve <AuditableInterceptor>())));
            _container.RegisterType <ICommerceService, CommerceServiceImpl>();

            #endregion

            #region Tax service
            var taxService = new TaxServiceImpl();
            _container.RegisterInstance <ITaxService>(taxService);
            #endregion
            #region Shipping service
            var shippingService = new ShippingMethodsServiceImpl();
            _container.RegisterInstance <IShippingMethodsService>(shippingService);
            #endregion

            #region Payment service
            var paymentService = new PaymentMethodsServiceImpl();
            _container.RegisterInstance <IPaymentMethodsService>(paymentService);
            #endregion
        }
Пример #2
0
        public override void Initialize()
        {
            //#region Payment gateways manager

            //_container.RegisterType<IPaymentGatewayManager, InMemoryPaymentGatewayManagerImpl>(new ContainerControlledLifetimeManager());

            //#endregion

            #region Commerce

            _container.RegisterType <IСommerceRepository>(new InjectionFactory(c => new CommerceRepositoryImpl(_connectionStringName, new EntityPrimaryKeyGeneratorInterceptor(), _container.Resolve <AuditableInterceptor>())));
            _container.RegisterType <ICommerceService, CommerceServiceImpl>();

            #endregion

            #region Tax service
            var taxService = new TaxServiceImpl();
            _container.RegisterInstance <ITaxService>(taxService);
            #endregion
            #region Shipping service
            var shippingService = new ShippingMethodsServiceImpl();
            _container.RegisterInstance <IShippingMethodsService>(shippingService);
            #endregion

            #region Payment service
            var paymentService = new PaymentMethodsServiceImpl();
            _container.RegisterInstance <IPaymentMethodsService>(paymentService);
            #endregion

            //Registration welcome email notification.
            _container.RegisterType <IObserver <MemberChangingEvent>, RegistrationEmailObserver>("RegistrationEmailObserver");

            #region Search

            _container.RegisterType <ISearchPhraseParser, SearchPhraseParser>();

            _container.RegisterType <IIndexingManager, IndexingManager>();

            string connectionString = null;

            var configConnectionString = ConfigurationManager.ConnectionStrings["SearchConnectionString"];
            if (configConnectionString != null)
            {
                connectionString = configConnectionString.ConnectionString;
            }

            if (string.IsNullOrEmpty(connectionString))
            {
                var settingsManager = _container.Resolve <ISettingsManager>();
                connectionString = settingsManager.GetValue("VirtoCommerce.Search.SearchConnectionString", string.Empty);
            }

            if (!string.IsNullOrEmpty(connectionString))
            {
                var searchConnection = new SearchConnection(connectionString);
                _container.RegisterInstance <ISearchConnection>(searchConnection);
            }

            #endregion
        }
Пример #3
0
        public override void Initialize()
        {
            var settingsManager = _container.Resolve <ISettingsManager>();

            //#region Payment gateways manager

            //_container.RegisterType<IPaymentGatewayManager, InMemoryPaymentGatewayManagerImpl>(new ContainerControlledLifetimeManager());

            //#endregion

            #region Commerce

            _container.RegisterType <ICommerceRepository>(new InjectionFactory(c => new CommerceRepositoryImpl(_connectionString, new EntityPrimaryKeyGeneratorInterceptor(), _container.Resolve <AuditableInterceptor>())));
            _container.RegisterType <ICommerceService, CommerceServiceImpl>();

            #endregion

            #region Tax service
            var taxService = new TaxServiceImpl();
            _container.RegisterInstance <ITaxService>(taxService);
            #endregion
            #region Shipping service
            var shippingService = new ShippingMethodsServiceImpl();
            _container.RegisterInstance <IShippingMethodsService>(shippingService);
            #endregion

            #region Payment service
            var paymentService = new PaymentMethodsServiceImpl();
            _container.RegisterInstance <IPaymentMethodsService>(paymentService);
            #endregion

            //Registration welcome email notification.
            _container.RegisterType <IObserver <MemberChangingEvent>, RegistrationEmailObserver>("RegistrationEmailObserver");

            #region Search

            _container.RegisterType <ISearchPhraseParser, SearchPhraseParser>();

            // Allow scale out of indexation through background worker, if opted-in.
            if (settingsManager.GetValue("VirtoCommerce.Search.IndexingJobs.ScaleOut", false))
            {
                _container.RegisterInstance <IIndexingWorker>(new HangfireIndexingWorker
                {
                    ThrottleQueueCount = settingsManager.GetValue("VirtoCommerce.Search.IndexingJobs.MaxQueueSize", 25)
                });
            }
            else
            {
                _container.RegisterType <IIndexingWorker>(new InjectionFactory(c => null));
            }

            _container.RegisterType <IIndexingManager, IndexingManager>();

            var searchConnectionString = ConfigurationHelper.GetConnectionStringValue("SearchConnectionString");

            if (string.IsNullOrEmpty(searchConnectionString))
            {
                settingsManager        = _container.Resolve <ISettingsManager>();
                searchConnectionString = settingsManager.GetValue("VirtoCommerce.Search.SearchConnectionString", string.Empty);
            }

            if (!string.IsNullOrEmpty(searchConnectionString))
            {
                var searchConnection = new SearchConnection(searchConnectionString);
                _container.RegisterInstance <ISearchConnection>(searchConnection);
            }

            #endregion
        }