public InstallController(IInstallationLocalizationService locService, IQNetFileProvider fileProvider, QNetConfig config) { _locService = locService; _fileProvider = fileProvider; _config = config; }
public UserAgentHelper(IHttpContextAccessor httpContextAccessor, IQNetFileProvider fileProvider, QNetConfig nopConfig) { _httpContextAccessor = httpContextAccessor; _fileProvider = fileProvider; _nopConfig = nopConfig; }
/// <summary> /// Register services and interfaces /// </summary> /// <param name="builder">Container builder</param> /// <param name="typeFinder">Type finder</param> /// <param name="config">Config</param> public void Register(ContainerBuilder builder, ITypeFinder typeFinder, QNetConfig config) { //register custom services builder.RegisterType <SendinBlueManager>().AsSelf().InstancePerLifetimeScope(); builder.RegisterType <SendinBlueMarketingAutomationManager>().AsSelf().InstancePerLifetimeScope(); //override services builder.RegisterType <SendinBlueMessageService>().As <IWorkflowMessageService>().InstancePerLifetimeScope(); builder.RegisterType <SendinBlueEmailSender>().As <IEmailSender>().InstancePerLifetimeScope(); }
public RedisCacheManager(ICacheManager perRequestCacheManager, IRedisConnectionWrapper connectionWrapper, QNetConfig config) { if (string.IsNullOrEmpty(config.RedisConnectionString)) { throw new Exception("Redis connection string is empty"); } _perRequestCacheManager = perRequestCacheManager; // ConnectionMultiplexer.Connect should only be called once and shared between callers _connectionWrapper = connectionWrapper; _db = _connectionWrapper.GetDatabase(config.RedisDatabaseId ?? (int)RedisDatabaseNumber.Cache); }
protected void OneTimeInit(QNetConfig config) { if (_isInitialized) { return; } if (string.IsNullOrEmpty(config.AzureBlobStorageConnectionString)) { throw new Exception("Azure connection string for BLOB is not specified"); } if (string.IsNullOrEmpty(config.AzureBlobStorageContainerName)) { throw new Exception("Azure container name for BLOB is not specified"); } if (string.IsNullOrEmpty(config.AzureBlobStorageEndPoint)) { throw new Exception("Azure end point for BLOB is not specified"); } lock (_locker) { if (_isInitialized) { return; } _azureBlobStorageAppendContainerName = config.AzureBlobStorageAppendContainerName; _azureBlobStorageConnectionString = config.AzureBlobStorageConnectionString; _azureBlobStorageContainerName = config.AzureBlobStorageContainerName.Trim().ToLower(); _azureBlobStorageEndPoint = config.AzureBlobStorageEndPoint.Trim().ToLower().TrimEnd('/'); CreateCloudBlobContainer(); _isInitialized = true; } }
public AzurePictureService(IDataProvider dataProvider, IDbContext dbContext, IDownloadService downloadService, IEventPublisher eventPublisher, IHttpContextAccessor httpContextAccessor, IQNetFileProvider fileProvider, IProductAttributeParser productAttributeParser, IRepository <Picture> pictureRepository, IRepository <PictureBinary> pictureBinaryRepository, IRepository <ProductPicture> productPictureRepository, ISettingService settingService, IStaticCacheManager cacheManager, IUrlRecordService urlRecordService, IWebHelper webHelper, MediaSettings mediaSettings, QNetConfig config) : base(dataProvider, dbContext, downloadService, eventPublisher, httpContextAccessor, fileProvider, productAttributeParser, pictureRepository, pictureBinaryRepository, productPictureRepository, settingService, urlRecordService, webHelper, mediaSettings) { _cacheManager = cacheManager; _mediaSettings = mediaSettings; OneTimeInit(config); }
/// <summary> /// Register services and interfaces /// </summary> /// <param name="builder">Container builder</param> /// <param name="typeFinder">Type finder</param> /// <param name="config">Config</param> public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, QNetConfig config) { //cache managers builder.RegisterType <TestCacheManager>().As <ICacheManager>().Named <ICacheManager>("nop_cache_static").SingleInstance(); }
/// <summary> /// Register services and interfaces /// </summary> /// <param name="builder">Container builder</param> /// <param name="typeFinder">Type finder</param> /// <param name="config">Config</param> public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, QNetConfig config) { //installation localization service builder.RegisterType <InstallationLocalizationService>().As <IInstallationLocalizationService>().InstancePerLifetimeScope(); //common factories builder.RegisterType <AclSupportedModelFactory>().As <IAclSupportedModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <DiscountSupportedModelFactory>().As <IDiscountSupportedModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <LocalizedModelFactory>().As <ILocalizedModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <StoreMappingSupportedModelFactory>().As <IStoreMappingSupportedModelFactory>().InstancePerLifetimeScope(); //admin factories builder.RegisterType <BaseAdminModelFactory>().As <IBaseAdminModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <ActivityLogModelFactory>().As <IActivityLogModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <AddressAttributeModelFactory>().As <IAddressAttributeModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <AffiliateModelFactory>().As <IAffiliateModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <BlogModelFactory>().As <IBlogModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <CampaignModelFactory>().As <ICampaignModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <CategoryModelFactory>().As <ICategoryModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <CheckoutAttributeModelFactory>().As <ICheckoutAttributeModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <CommonModelFactory>().As <ICommonModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <CountryModelFactory>().As <ICountryModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <CurrencyModelFactory>().As <ICurrencyModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <CustomerAttributeModelFactory>().As <ICustomerAttributeModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <CustomerModelFactory>().As <ICustomerModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <CustomerRoleModelFactory>().As <ICustomerRoleModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <DiscountModelFactory>().As <IDiscountModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <EmailAccountModelFactory>().As <IEmailAccountModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <ExternalAuthenticationMethodModelFactory>().As <IExternalAuthenticationMethodModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <ForumModelFactory>().As <IForumModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <GiftCardModelFactory>().As <IGiftCardModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <HomeModelFactory>().As <IHomeModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <LanguageModelFactory>().As <ILanguageModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <LogModelFactory>().As <ILogModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <ManufacturerModelFactory>().As <IManufacturerModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <MeasureModelFactory>().As <IMeasureModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <MessageTemplateModelFactory>().As <IMessageTemplateModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <NewsletterSubscriptionModelFactory>().As <INewsletterSubscriptionModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <NewsModelFactory>().As <INewsModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <OrderModelFactory>().As <IOrderModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <PaymentModelFactory>().As <IPaymentModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <PluginModelFactory>().As <IPluginModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <PollModelFactory>().As <IPollModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <ProductModelFactory>().As <IProductModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <ProductAttributeModelFactory>().As <IProductAttributeModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <ProductReviewModelFactory>().As <IProductReviewModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <ReportModelFactory>().As <IReportModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <QueuedEmailModelFactory>().As <IQueuedEmailModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <RecurringPaymentModelFactory>().As <IRecurringPaymentModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <ReturnRequestModelFactory>().As <IReturnRequestModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <ReviewTypeModelFactory>().As <IReviewTypeModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <ScheduleTaskModelFactory>().As <IScheduleTaskModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <SecurityModelFactory>().As <ISecurityModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <SettingModelFactory>().As <ISettingModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <ShippingModelFactory>().As <IShippingModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <ShoppingCartModelFactory>().As <IShoppingCartModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <SpecificationAttributeModelFactory>().As <ISpecificationAttributeModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <StoreModelFactory>().As <IStoreModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <TaxModelFactory>().As <ITaxModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <TemplateModelFactory>().As <ITemplateModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <TopicModelFactory>().As <ITopicModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <VendorAttributeModelFactory>().As <IVendorAttributeModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <VendorModelFactory>().As <IVendorModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <WidgetModelFactory>().As <IWidgetModelFactory>().InstancePerLifetimeScope(); //factories builder.RegisterType <Factories.AddressModelFactory>().As <Factories.IAddressModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <Factories.BlogModelFactory>().As <Factories.IBlogModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <Factories.CatalogModelFactory>().As <Factories.ICatalogModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <Factories.CheckoutModelFactory>().As <Factories.ICheckoutModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <Factories.CommonModelFactory>().As <Factories.ICommonModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <Factories.CountryModelFactory>().As <Factories.ICountryModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <Factories.CustomerModelFactory>().As <Factories.ICustomerModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <Factories.ForumModelFactory>().As <Factories.IForumModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <Factories.ExternalAuthenticationModelFactory>().As <Factories.IExternalAuthenticationModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <Factories.NewsModelFactory>().As <Factories.INewsModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <Factories.NewsletterModelFactory>().As <Factories.INewsletterModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <Factories.OrderModelFactory>().As <Factories.IOrderModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <Factories.PollModelFactory>().As <Factories.IPollModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <Factories.PrivateMessagesModelFactory>().As <Factories.IPrivateMessagesModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <Factories.ProductModelFactory>().As <Factories.IProductModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <Factories.ProfileModelFactory>().As <Factories.IProfileModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <Factories.ReturnRequestModelFactory>().As <Factories.IReturnRequestModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <Factories.ShoppingCartModelFactory>().As <Factories.IShoppingCartModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <Factories.TopicModelFactory>().As <Factories.ITopicModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <Factories.VendorModelFactory>().As <Factories.IVendorModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <Factories.WidgetModelFactory>().As <Factories.IWidgetModelFactory>().InstancePerLifetimeScope(); }
public CommonModelFactory(AdminAreaSettings adminAreaSettings, CatalogSettings catalogSettings, CurrencySettings currencySettings, IActionContextAccessor actionContextAccessor, IAuthenticationPluginManager authenticationPluginManager, ICurrencyService currencyService, ICustomerService customerService, IDateTimeHelper dateTimeHelper, IQNetFileProvider fileProvider, IExchangeRatePluginManager exchangeRatePluginManager, IHttpContextAccessor httpContextAccessor, ILanguageService languageService, ILocalizationService localizationService, IMaintenanceService maintenanceService, IMeasureService measureService, IOrderService orderService, IPaymentPluginManager paymentPluginManager, IPickupPluginManager pickupPluginManager, IPluginService pluginService, IProductService productService, IReturnRequestService returnRequestService, ISearchTermService searchTermService, IShippingPluginManager shippingPluginManager, IStaticCacheManager cacheManager, IStoreContext storeContext, IStoreService storeService, ITaxPluginManager taxPluginManager, IUrlHelperFactory urlHelperFactory, IUrlRecordService urlRecordService, IWebHelper webHelper, IWidgetPluginManager widgetPluginManager, IWorkContext workContext, MeasureSettings measureSettings, QNetConfig nopConfig, QNetHttpClient nopHttpClient, ProxySettings proxySettings) { _adminAreaSettings = adminAreaSettings; _catalogSettings = catalogSettings; _currencySettings = currencySettings; _actionContextAccessor = actionContextAccessor; _authenticationPluginManager = authenticationPluginManager; _currencyService = currencyService; _customerService = customerService; _dateTimeHelper = dateTimeHelper; _exchangeRatePluginManager = exchangeRatePluginManager; _httpContextAccessor = httpContextAccessor; _languageService = languageService; _localizationService = localizationService; _maintenanceService = maintenanceService; _measureService = measureService; _fileProvider = fileProvider; _orderService = orderService; _paymentPluginManager = paymentPluginManager; _pickupPluginManager = pickupPluginManager; _pluginService = pluginService; _productService = productService; _returnRequestService = returnRequestService; _searchTermService = searchTermService; _shippingPluginManager = shippingPluginManager; _cacheManager = cacheManager; _storeContext = storeContext; _storeService = storeService; _taxPluginManager = taxPluginManager; _urlHelperFactory = urlHelperFactory; _urlRecordService = urlRecordService; _webHelper = webHelper; _widgetPluginManager = widgetPluginManager; _workContext = workContext; _measureSettings = measureSettings; _nopConfig = nopConfig; _nopHttpClient = nopHttpClient; _proxySettings = proxySettings; }
/// <summary> /// Register services and interfaces /// </summary> /// <param name="builder">Container builder</param> /// <param name="typeFinder">Type finder</param> /// <param name="config">Config</param> public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, QNetConfig config) { //register UPSService builder.RegisterType <UPSService>().AsSelf().InstancePerLifetimeScope(); }
/// <summary> /// Register services and interfaces /// </summary> /// <param name="builder">Container builder</param> /// <param name="typeFinder">Type finder</param> /// <param name="config">Config</param> public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, QNetConfig config) { //register service manager builder.RegisterType <QualpayManager>().AsSelf().InstancePerLifetimeScope(); //register custom factories builder.RegisterType <QualpayCustomerModelFactory>().AsSelf().InstancePerLifetimeScope(); }
public RedisPluginsInfo(IQNetFileProvider fileProvider, IRedisConnectionWrapper connectionWrapper, QNetConfig config) : base(fileProvider) { _db = connectionWrapper.GetDatabase(config.RedisDatabaseId ?? (int)RedisDatabaseNumber.Plugin); }
/// <summary> /// Register services and interfaces /// </summary> /// <param name="builder">Container builder</param> /// <param name="typeFinder">Type finder</param> /// <param name="config">Config</param> public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, QNetConfig config) { //register overridden services and factories builder.RegisterType <OverriddenOrderProcessingService>().As <IOrderProcessingService>().InstancePerLifetimeScope(); builder.RegisterType <OverriddenOrderTotalCalculationService>().As <IOrderTotalCalculationService>().InstancePerLifetimeScope(); builder.RegisterType <OverriddenShoppingCartModelFactory>().As <Web.Factories.IShoppingCartModelFactory>().InstancePerLifetimeScope(); builder.RegisterType <OverriddenTaxModelFactory>().As <ITaxModelFactory>().InstancePerLifetimeScope(); //register custom services builder.RegisterType <AvalaraTaxManager>().AsSelf().InstancePerLifetimeScope(); builder.RegisterType <TaxTransactionLogService>().AsSelf().InstancePerLifetimeScope(); //register custom data context builder.RegisterPluginDataContext <TaxTransactionLogObjectContext>(AvalaraTaxDefaults.ObjectContextName); builder.RegisterType <EfRepository <TaxTransactionLog> >().As <IRepository <TaxTransactionLog> >() .WithParameter(ResolvedParameter.ForNamed <IDbContext>(AvalaraTaxDefaults.ObjectContextName)) .InstancePerLifetimeScope(); }
/// <summary> /// Register services and interfaces /// </summary> /// <param name="builder">Container builder</param> /// <param name="typeFinder">Type finder</param> /// <param name="config">Config</param> public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, QNetConfig config) { builder.RegisterType <FixedOrByCountryStateZipTaxProvider>().As <ITaxProvider>().InstancePerLifetimeScope(); builder.RegisterType <CountryStateZipService>().As <ICountryStateZipService>().InstancePerLifetimeScope(); //data context builder.RegisterPluginDataContext <CountryStateZipObjectContext>("nop_object_context_tax_country_state_zip"); //override required repository with our custom context builder.RegisterType <EfRepository <TaxRate> >().As <IRepository <TaxRate> >() .WithParameter(ResolvedParameter.ForNamed <IDbContext>("nop_object_context_tax_country_state_zip")) .InstancePerLifetimeScope(); }
/// <summary> /// Register services and interfaces /// </summary> /// <param name="builder">Container builder</param> /// <param name="typeFinder">Type finder</param> /// <param name="config">Config</param> public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, QNetConfig config) { builder.RegisterType <StorePickupPointService>().As <IStorePickupPointService>().InstancePerLifetimeScope(); builder.RegisterType <StorePickupPointModelFactory>().As <IStorePickupPointModelFactory>().InstancePerLifetimeScope(); //data context builder.RegisterPluginDataContext <StorePickupPointObjectContext>("nop_object_context_pickup_in_store-pickup"); //override required repository with our custom context builder.RegisterType <EfRepository <StorePickupPoint> >().As <IRepository <StorePickupPoint> >() .WithParameter(ResolvedParameter.ForNamed <IDbContext>("nop_object_context_pickup_in_store-pickup")) .InstancePerLifetimeScope(); }
/// <summary> /// Register services and interfaces /// </summary> /// <param name="builder">Container builder</param> /// <param name="typeFinder">Type finder</param> /// <param name="config">Config</param> public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, QNetConfig config) { //file provider builder.RegisterType <QNetFileProvider>().As <IQNetFileProvider>().InstancePerLifetimeScope(); //web helper builder.RegisterType <WebHelper>().As <IWebHelper>().InstancePerLifetimeScope(); //user agent helper builder.RegisterType <UserAgentHelper>().As <IUserAgentHelper>().InstancePerLifetimeScope(); //data layer builder.RegisterType <EfDataProviderManager>().As <IDataProviderManager>().InstancePerDependency(); builder.Register(context => context.Resolve <IDataProviderManager>().DataProvider).As <IDataProvider>().InstancePerDependency(); builder.Register(context => new QNetObjectContext(context.Resolve <DbContextOptions <QNetObjectContext> >())) .As <IDbContext>().InstancePerLifetimeScope(); //repositories builder.RegisterGeneric(typeof(EfRepository <>)).As(typeof(IRepository <>)).InstancePerLifetimeScope(); //plugins builder.RegisterType <PluginService>().As <IPluginService>().InstancePerLifetimeScope(); builder.RegisterType <OfficialFeedManager>().AsSelf().InstancePerLifetimeScope(); //cache manager builder.RegisterType <PerRequestCacheManager>().As <ICacheManager>().InstancePerLifetimeScope(); //redis connection wrapper if (config.RedisEnabled) { builder.RegisterType <RedisConnectionWrapper>() .As <ILocker>() .As <IRedisConnectionWrapper>() .SingleInstance(); } //static cache manager if (config.RedisEnabled && config.UseRedisForCaching) { builder.RegisterType <RedisCacheManager>().As <IStaticCacheManager>().InstancePerLifetimeScope(); } else { builder.RegisterType <MemoryCacheManager>() .As <ILocker>() .As <IStaticCacheManager>() .SingleInstance(); } //work context builder.RegisterType <WebWorkContext>().As <IWorkContext>().InstancePerLifetimeScope(); //store context builder.RegisterType <WebStoreContext>().As <IStoreContext>().InstancePerLifetimeScope(); //services builder.RegisterType <BackInStockSubscriptionService>().As <IBackInStockSubscriptionService>().InstancePerLifetimeScope(); builder.RegisterType <CategoryService>().As <ICategoryService>().InstancePerLifetimeScope(); builder.RegisterType <CompareProductsService>().As <ICompareProductsService>().InstancePerLifetimeScope(); builder.RegisterType <RecentlyViewedProductsService>().As <IRecentlyViewedProductsService>().InstancePerLifetimeScope(); builder.RegisterType <ManufacturerService>().As <IManufacturerService>().InstancePerLifetimeScope(); builder.RegisterType <PriceFormatter>().As <IPriceFormatter>().InstancePerLifetimeScope(); builder.RegisterType <ProductAttributeFormatter>().As <IProductAttributeFormatter>().InstancePerLifetimeScope(); builder.RegisterType <ProductAttributeParser>().As <IProductAttributeParser>().InstancePerLifetimeScope(); builder.RegisterType <ProductAttributeService>().As <IProductAttributeService>().InstancePerLifetimeScope(); builder.RegisterType <ProductService>().As <IProductService>().InstancePerLifetimeScope(); builder.RegisterType <CopyProductService>().As <ICopyProductService>().InstancePerLifetimeScope(); builder.RegisterType <SpecificationAttributeService>().As <ISpecificationAttributeService>().InstancePerLifetimeScope(); builder.RegisterType <ProductTemplateService>().As <IProductTemplateService>().InstancePerLifetimeScope(); builder.RegisterType <CategoryTemplateService>().As <ICategoryTemplateService>().InstancePerLifetimeScope(); builder.RegisterType <ManufacturerTemplateService>().As <IManufacturerTemplateService>().InstancePerLifetimeScope(); builder.RegisterType <TopicTemplateService>().As <ITopicTemplateService>().InstancePerLifetimeScope(); builder.RegisterType <ProductTagService>().As <IProductTagService>().InstancePerLifetimeScope(); builder.RegisterType <AddressAttributeFormatter>().As <IAddressAttributeFormatter>().InstancePerLifetimeScope(); builder.RegisterType <AddressAttributeParser>().As <IAddressAttributeParser>().InstancePerLifetimeScope(); builder.RegisterType <AddressAttributeService>().As <IAddressAttributeService>().InstancePerLifetimeScope(); builder.RegisterType <AddressService>().As <IAddressService>().InstancePerLifetimeScope(); builder.RegisterType <AffiliateService>().As <IAffiliateService>().InstancePerLifetimeScope(); builder.RegisterType <VendorService>().As <IVendorService>().InstancePerLifetimeScope(); builder.RegisterType <VendorAttributeFormatter>().As <IVendorAttributeFormatter>().InstancePerLifetimeScope(); builder.RegisterType <VendorAttributeParser>().As <IVendorAttributeParser>().InstancePerLifetimeScope(); builder.RegisterType <VendorAttributeService>().As <IVendorAttributeService>().InstancePerLifetimeScope(); builder.RegisterType <SearchTermService>().As <ISearchTermService>().InstancePerLifetimeScope(); builder.RegisterType <GenericAttributeService>().As <IGenericAttributeService>().InstancePerLifetimeScope(); builder.RegisterType <FulltextService>().As <IFulltextService>().InstancePerLifetimeScope(); builder.RegisterType <MaintenanceService>().As <IMaintenanceService>().InstancePerLifetimeScope(); builder.RegisterType <CustomerAttributeFormatter>().As <ICustomerAttributeFormatter>().InstancePerLifetimeScope(); builder.RegisterType <CustomerAttributeParser>().As <ICustomerAttributeParser>().InstancePerLifetimeScope(); builder.RegisterType <CustomerAttributeService>().As <ICustomerAttributeService>().InstancePerLifetimeScope(); builder.RegisterType <CustomerService>().As <ICustomerService>().InstancePerLifetimeScope(); builder.RegisterType <CustomerRegistrationService>().As <ICustomerRegistrationService>().InstancePerLifetimeScope(); builder.RegisterType <CustomerReportService>().As <ICustomerReportService>().InstancePerLifetimeScope(); builder.RegisterType <PermissionService>().As <IPermissionService>().InstancePerLifetimeScope(); builder.RegisterType <AclService>().As <IAclService>().InstancePerLifetimeScope(); builder.RegisterType <PriceCalculationService>().As <IPriceCalculationService>().InstancePerLifetimeScope(); builder.RegisterType <GeoLookupService>().As <IGeoLookupService>().InstancePerLifetimeScope(); builder.RegisterType <CountryService>().As <ICountryService>().InstancePerLifetimeScope(); builder.RegisterType <CurrencyService>().As <ICurrencyService>().InstancePerLifetimeScope(); builder.RegisterType <MeasureService>().As <IMeasureService>().InstancePerLifetimeScope(); builder.RegisterType <StateProvinceService>().As <IStateProvinceService>().InstancePerLifetimeScope(); builder.RegisterType <StoreService>().As <IStoreService>().InstancePerLifetimeScope(); builder.RegisterType <StoreMappingService>().As <IStoreMappingService>().InstancePerLifetimeScope(); builder.RegisterType <DiscountService>().As <IDiscountService>().InstancePerLifetimeScope(); builder.RegisterType <LocalizationService>().As <ILocalizationService>().InstancePerLifetimeScope(); builder.RegisterType <LocalizedEntityService>().As <ILocalizedEntityService>().InstancePerLifetimeScope(); builder.RegisterType <LanguageService>().As <ILanguageService>().InstancePerLifetimeScope(); builder.RegisterType <DownloadService>().As <IDownloadService>().InstancePerLifetimeScope(); builder.RegisterType <MessageTemplateService>().As <IMessageTemplateService>().InstancePerLifetimeScope(); builder.RegisterType <QueuedEmailService>().As <IQueuedEmailService>().InstancePerLifetimeScope(); builder.RegisterType <NewsLetterSubscriptionService>().As <INewsLetterSubscriptionService>().InstancePerLifetimeScope(); builder.RegisterType <NotificationService>().As <INotificationService>().InstancePerLifetimeScope(); builder.RegisterType <CampaignService>().As <ICampaignService>().InstancePerLifetimeScope(); builder.RegisterType <EmailAccountService>().As <IEmailAccountService>().InstancePerLifetimeScope(); builder.RegisterType <WorkflowMessageService>().As <IWorkflowMessageService>().InstancePerLifetimeScope(); builder.RegisterType <MessageTokenProvider>().As <IMessageTokenProvider>().InstancePerLifetimeScope(); builder.RegisterType <Tokenizer>().As <ITokenizer>().InstancePerLifetimeScope(); builder.RegisterType <SmtpBuilder>().As <ISmtpBuilder>().InstancePerLifetimeScope(); builder.RegisterType <EmailSender>().As <IEmailSender>().InstancePerLifetimeScope(); builder.RegisterType <CheckoutAttributeFormatter>().As <ICheckoutAttributeFormatter>().InstancePerLifetimeScope(); builder.RegisterType <CheckoutAttributeParser>().As <ICheckoutAttributeParser>().InstancePerLifetimeScope(); builder.RegisterType <CheckoutAttributeService>().As <ICheckoutAttributeService>().InstancePerLifetimeScope(); builder.RegisterType <GiftCardService>().As <IGiftCardService>().InstancePerLifetimeScope(); builder.RegisterType <OrderService>().As <IOrderService>().InstancePerLifetimeScope(); builder.RegisterType <OrderReportService>().As <IOrderReportService>().InstancePerLifetimeScope(); builder.RegisterType <OrderProcessingService>().As <IOrderProcessingService>().InstancePerLifetimeScope(); builder.RegisterType <OrderTotalCalculationService>().As <IOrderTotalCalculationService>().InstancePerLifetimeScope(); builder.RegisterType <ReturnRequestService>().As <IReturnRequestService>().InstancePerLifetimeScope(); builder.RegisterType <RewardPointService>().As <IRewardPointService>().InstancePerLifetimeScope(); builder.RegisterType <ShoppingCartService>().As <IShoppingCartService>().InstancePerLifetimeScope(); builder.RegisterType <CustomNumberFormatter>().As <ICustomNumberFormatter>().InstancePerLifetimeScope(); builder.RegisterType <PaymentService>().As <IPaymentService>().InstancePerLifetimeScope(); builder.RegisterType <EncryptionService>().As <IEncryptionService>().InstancePerLifetimeScope(); builder.RegisterType <CookieAuthenticationService>().As <IAuthenticationService>().InstancePerLifetimeScope(); builder.RegisterType <UrlRecordService>().As <IUrlRecordService>().InstancePerLifetimeScope(); builder.RegisterType <ShipmentService>().As <IShipmentService>().InstancePerLifetimeScope(); builder.RegisterType <ShippingService>().As <IShippingService>().InstancePerLifetimeScope(); builder.RegisterType <DateRangeService>().As <IDateRangeService>().InstancePerLifetimeScope(); builder.RegisterType <TaxCategoryService>().As <ITaxCategoryService>().InstancePerLifetimeScope(); builder.RegisterType <TaxService>().As <ITaxService>().InstancePerLifetimeScope(); builder.RegisterType <DefaultLogger>().As <ILogger>().InstancePerLifetimeScope(); builder.RegisterType <CustomerActivityService>().As <ICustomerActivityService>().InstancePerLifetimeScope(); builder.RegisterType <ForumService>().As <IForumService>().InstancePerLifetimeScope(); builder.RegisterType <GdprService>().As <IGdprService>().InstancePerLifetimeScope(); builder.RegisterType <PollService>().As <IPollService>().InstancePerLifetimeScope(); builder.RegisterType <BlogService>().As <IBlogService>().InstancePerLifetimeScope(); builder.RegisterType <TopicService>().As <ITopicService>().InstancePerLifetimeScope(); builder.RegisterType <NewsService>().As <INewsService>().InstancePerLifetimeScope(); builder.RegisterType <DateTimeHelper>().As <IDateTimeHelper>().InstancePerLifetimeScope(); builder.RegisterType <SitemapGenerator>().As <ISitemapGenerator>().InstancePerLifetimeScope(); builder.RegisterType <PageHeadBuilder>().As <IPageHeadBuilder>().InstancePerLifetimeScope(); builder.RegisterType <ScheduleTaskService>().As <IScheduleTaskService>().InstancePerLifetimeScope(); builder.RegisterType <ExportManager>().As <IExportManager>().InstancePerLifetimeScope(); builder.RegisterType <ImportManager>().As <IImportManager>().InstancePerLifetimeScope(); builder.RegisterType <PdfService>().As <IPdfService>().InstancePerLifetimeScope(); builder.RegisterType <UploadService>().As <IUploadService>().InstancePerLifetimeScope(); builder.RegisterType <ThemeProvider>().As <IThemeProvider>().InstancePerLifetimeScope(); builder.RegisterType <ThemeContext>().As <IThemeContext>().InstancePerLifetimeScope(); builder.RegisterType <ExternalAuthenticationService>().As <IExternalAuthenticationService>().InstancePerLifetimeScope(); builder.RegisterType <RoutePublisher>().As <IRoutePublisher>().SingleInstance(); builder.RegisterType <ReviewTypeService>().As <IReviewTypeService>().SingleInstance(); builder.RegisterType <EventPublisher>().As <IEventPublisher>().SingleInstance(); builder.RegisterType <SettingService>().As <ISettingService>().InstancePerLifetimeScope(); //plugin managers builder.RegisterGeneric(typeof(PluginManager <>)).As(typeof(IPluginManager <>)).InstancePerLifetimeScope(); builder.RegisterType <AuthenticationPluginManager>().As <IAuthenticationPluginManager>().InstancePerLifetimeScope(); builder.RegisterType <WidgetPluginManager>().As <IWidgetPluginManager>().InstancePerLifetimeScope(); builder.RegisterType <ExchangeRatePluginManager>().As <IExchangeRatePluginManager>().InstancePerLifetimeScope(); builder.RegisterType <DiscountPluginManager>().As <IDiscountPluginManager>().InstancePerLifetimeScope(); builder.RegisterType <PaymentPluginManager>().As <IPaymentPluginManager>().InstancePerLifetimeScope(); builder.RegisterType <PickupPluginManager>().As <IPickupPluginManager>().InstancePerLifetimeScope(); builder.RegisterType <ShippingPluginManager>().As <IShippingPluginManager>().InstancePerLifetimeScope(); builder.RegisterType <TaxPluginManager>().As <ITaxPluginManager>().InstancePerLifetimeScope(); builder.RegisterType <ActionContextAccessor>().As <IActionContextAccessor>().InstancePerLifetimeScope(); //register all settings builder.RegisterSource(new SettingsSource()); //picture service if (config.AzureBlobStorageEnabled) { builder.RegisterType <AzurePictureService>().As <IPictureService>().InstancePerLifetimeScope(); } else { builder.RegisterType <PictureService>().As <IPictureService>().InstancePerLifetimeScope(); } //roxy file manager service builder.Register(context => { var pictureService = context.Resolve <IPictureService>(); return(EngineContext.Current.ResolveUnregistered(pictureService.StoreInDb ? typeof(DatabaseRoxyFilemanService) : typeof(FileRoxyFilemanService))); }).As <IRoxyFilemanService>().InstancePerLifetimeScope(); //installation service if (!DataSettingsManager.DatabaseIsInstalled) { if (config.UseFastInstallationService) { builder.RegisterType <SqlFileInstallationService>().As <IInstallationService>().InstancePerLifetimeScope(); } else { builder.RegisterType <CodeFirstInstallationService>().As <IInstallationService>().InstancePerLifetimeScope(); } } //event consumers var consumers = typeFinder.FindClassesOfType(typeof(IConsumer <>)).ToList(); foreach (var consumer in consumers) { builder.RegisterType(consumer) .As(consumer.FindInterfaces((type, criteria) => { var isMatch = type.IsGenericType && ((Type)criteria).IsAssignableFrom(type.GetGenericTypeDefinition()); return(isMatch); }, typeof(IConsumer <>))) .InstancePerLifetimeScope(); } }
/// <summary> /// Add and configure services /// </summary> /// <param name="services">Collection of service descriptors</param> /// <param name="configuration">Configuration of the application</param> /// <param name="nopConfig">QNet configuration parameters</param> /// <returns>Service provider</returns> public IServiceProvider ConfigureServices(IServiceCollection services, IConfiguration configuration, QNetConfig nopConfig) { //find startup configurations provided by other assemblies var typeFinder = new WebAppTypeFinder(); var startupConfigurations = typeFinder.FindClassesOfType <IQNetStartup>(); //create and sort instances of startup configurations var instances = startupConfigurations .Select(startup => (IQNetStartup)Activator.CreateInstance(startup)) .OrderBy(startup => startup.Order); //configure services foreach (var instance in instances) { instance.ConfigureServices(services, configuration); } //register mapper configurations AddAutoMapper(services, typeFinder); //register dependencies RegisterDependencies(services, typeFinder, nopConfig); //run startup tasks RunStartupTasks(typeFinder); //resolve assemblies here. otherwise, plugins can throw an exception when rendering views AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve; return(_serviceProvider); }
public RedisConnectionWrapper(QNetConfig config) { _config = config; _connectionString = new Lazy <string>(GetConnectionString); _redisLockFactory = CreateRedisLockFactory(); }
/// <summary> /// Register dependencies /// </summary> /// <param name="services">Collection of service descriptors</param> /// <param name="typeFinder">Type finder</param> /// <param name="nopConfig">QNet configuration parameters</param> protected virtual IServiceProvider RegisterDependencies(IServiceCollection services, ITypeFinder typeFinder, QNetConfig nopConfig) { var containerBuilder = new ContainerBuilder(); //register engine containerBuilder.RegisterInstance(this).As <IEngine>().SingleInstance(); //register type finder containerBuilder.RegisterInstance(typeFinder).As <ITypeFinder>().SingleInstance(); //populate Autofac container builder with the set of registered service descriptors containerBuilder.Populate(services); //find dependency registrars provided by other assemblies var dependencyRegistrars = typeFinder.FindClassesOfType <IDependencyRegistrar>(); //create and sort instances of dependency registrars var instances = dependencyRegistrars .Select(dependencyRegistrar => (IDependencyRegistrar)Activator.CreateInstance(dependencyRegistrar)) .OrderBy(dependencyRegistrar => dependencyRegistrar.Order); //register all provided dependencies foreach (var dependencyRegistrar in instances) { dependencyRegistrar.Register(containerBuilder, typeFinder, nopConfig); } //create service provider _serviceProvider = new AutofacServiceProvider(containerBuilder.Build()); return(_serviceProvider); }
/// <summary> /// Register services and interfaces /// </summary> /// <param name="builder">Container builder</param> /// <param name="typeFinder">Type finder</param> /// <param name="config">Config</param> public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, QNetConfig config) { //register service manager builder.RegisterType <SquarePaymentManager>().AsSelf().InstancePerLifetimeScope(); }
/// <summary> /// Register services and interfaces /// </summary> /// <param name="builder">Container builder</param> /// <param name="typeFinder">Type finder</param> /// <param name="config">Config</param> public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, QNetConfig config) { builder.RegisterType <ShippingByWeightByTotalService>().As <IShippingByWeightByTotalService>().InstancePerLifetimeScope(); //data context builder.RegisterPluginDataContext <ShippingByWeightByTotalObjectContext>("nop_object_context_shipping_weight_total_zip"); //override required repository with our custom context builder.RegisterType <EfRepository <ShippingByWeightByTotalRecord> >().As <IRepository <ShippingByWeightByTotalRecord> >() .WithParameter(ResolvedParameter.ForNamed <IDbContext>("nop_object_context_shipping_weight_total_zip")) .InstancePerLifetimeScope(); }