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 }
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 }
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 }