public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, NopConfig config)
        {


            var asm = AppDomain.CurrentDomain.GetAssemblies();


            builder.RegisterGeneric(typeof(BaseEntityService<>)).As(typeof(IBaseEntityService<>)).InstancePerLifetimeScope();
            builder.RegisterGeneric(typeof(BaseEntityWithPictureService<,>)).As(typeof(IBaseEntityWithPictureService<,>)).InstancePerLifetimeScope();

            builder.RegisterType<MobPageHeadBuilder>().As<MobPageHeadBuilder>().InstancePerRequest();

            //register all the implemented services in various mob plugins
            builder.RegisterAssemblyTypes(asm).AsClosedTypesOf(typeof(BaseEntityService<>))
                .AsImplementedInterfaces()
                .InstancePerDependency();

            builder.RegisterAssemblyTypes(asm).AsClosedTypesOf(typeof(BaseEntityWithPictureService<,>))
                .AsImplementedInterfaces()
                .InstancePerDependency();

            //register all the repositories
            builder.RegisterGeneric(typeof(MobRepository<>)).As(typeof(IMobRepository<>))
                .WithParameter(ResolvedParameter.ForNamed<IDbContext>(ContextName))
                        .InstancePerLifetimeScope();

        }
示例#2
0
        /// <summary>
        /// Creates a configuration section handler.
        /// </summary>
        /// <param name="parent">Parent object.</param>
        /// <param name="configContext">Configuration context object.</param>
        /// <param name="section">Section XML node.</param>
        /// <returns>The created section handler object.</returns>
        public object Create(object parent, object configContext, XmlNode section)
        {
            var config = new NopConfig();
            var dynamicDiscoveryNode = section.SelectSingleNode("DynamicDiscovery");
            if (dynamicDiscoveryNode != null && dynamicDiscoveryNode.Attributes != null)
            {
                var attribute = dynamicDiscoveryNode.Attributes["Enabled"];
                if (attribute != null)
                    config.DynamicDiscovery = Convert.ToBoolean(attribute.Value);
            }

            var engineNode = section.SelectSingleNode("Engine");
            if (engineNode != null && engineNode.Attributes != null)
            {
                var attribute = engineNode.Attributes["Type"];
                if (attribute != null)
                    config.EngineType = attribute.Value;
            }

            var themeNode = section.SelectSingleNode("Themes");
            if (themeNode != null && themeNode.Attributes != null)
            {
                var attribute = themeNode.Attributes["basePath"];
                if (attribute != null)
                    config.ThemeBasePath = attribute.Value;
            }

            return config;
        }
示例#3
0
 /// <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, NopConfig config)
 {
     //we cache presentation models between requests
     builder.RegisterType<BlogController>()
         .WithParameter(ResolvedParameter.ForNamed<ICacheManager>("nop_cache_static"));
     builder.RegisterType<CatalogController>()
         .WithParameter(ResolvedParameter.ForNamed<ICacheManager>("nop_cache_static"));
     builder.RegisterType<CountryController>()
         .WithParameter(ResolvedParameter.ForNamed<ICacheManager>("nop_cache_static"));
     builder.RegisterType<CommonController>()
         .WithParameter(ResolvedParameter.ForNamed<ICacheManager>("nop_cache_static"));
     builder.RegisterType<NewsController>()
         .WithParameter(ResolvedParameter.ForNamed<ICacheManager>("nop_cache_static"));
     builder.RegisterType<PollController>()
         .WithParameter(ResolvedParameter.ForNamed<ICacheManager>("nop_cache_static"));
     builder.RegisterType<ProductController>()
         .WithParameter(ResolvedParameter.ForNamed<ICacheManager>("nop_cache_static"));
     builder.RegisterType<ReturnRequestController>()
         .WithParameter(ResolvedParameter.ForNamed<ICacheManager>("nop_cache_static"));
     builder.RegisterType<ShoppingCartController>()
         .WithParameter(ResolvedParameter.ForNamed<ICacheManager>("nop_cache_static"));
     builder.RegisterType<TopicController>()
         .WithParameter(ResolvedParameter.ForNamed<ICacheManager>("nop_cache_static"));
     builder.RegisterType<WidgetController>()
         .WithParameter(ResolvedParameter.ForNamed<ICacheManager>("nop_cache_static"));
     
     //installation localization service
     builder.RegisterType<InstallationLocalizationService>().As<IInstallationLocalizationService>().InstancePerLifetimeScope();
 }
        public virtual void Configure(IEngine engine, ContainerManager containerManager, EventBroker broker, NopConfig configuration)
        {
            //other dependencies
            containerManager.AddComponentInstance<NopConfig>(configuration, "nop.configuration");
            containerManager.AddComponentInstance<IEngine>(engine, "nop.engine");
            containerManager.AddComponentInstance<ContainerConfigurer>(this, "nop.containerConfigurer");

            //type finder
            containerManager.AddComponent<ITypeFinder, WebAppTypeFinder>("nop.typeFinder");

            //register dependencies provided by other assemblies
            var typeFinder = containerManager.Resolve<ITypeFinder>();
            containerManager.UpdateContainer(x =>
            {
                var drTypes = typeFinder.FindClassesOfType<IDependencyRegistrar>();
                var drInstances = new List<IDependencyRegistrar>();
                foreach (var drType in drTypes)
                    drInstances.Add((IDependencyRegistrar)Activator.CreateInstance(drType));
                //sort
                drInstances = drInstances.AsQueryable().OrderBy(t => t.Order).ToList();
                foreach (var dependencyRegistrar in drInstances)
                    dependencyRegistrar.Register(x, typeFinder);
            });

            //event broker
            containerManager.AddComponentInstance(broker);

            //service registration
            containerManager.AddComponent<DependencyAttributeRegistrator>("nop.serviceRegistrator");
            var registrator = containerManager.Resolve<DependencyAttributeRegistrator>();
            var services = registrator.FindServices();
            var configurations = GetComponentConfigurations(configuration);
            services = registrator.FilterServices(services, configurations);
            registrator.RegisterServices(services);
        }
 /// <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, NopConfig config)
 {
     //we cache presentation models between requests
     builder.RegisterType<HomeController>()
         .WithParameter(ResolvedParameter.ForNamed<ICacheManager>("nop_cache_static"));
     builder.RegisterType<ProductController>()
         .WithParameter(ResolvedParameter.ForNamed<ICacheManager>("nop_cache_static"));
 }
示例#6
0
 protected virtual string[] GetComponentConfigurations(NopConfig configuration)
 {
     List<string> configurations = new List<string>();
     string trustConfiguration = (CommonHelper.GetTrustLevel() > System.Web.AspNetHostingPermissionLevel.Medium)
         ? ConfigurationKeys.FullTrust
         : ConfigurationKeys.MediumTrust;
     configurations.Add(trustConfiguration);
     return configurations.ToArray();
 }
示例#7
0
        public virtual void Configure(IEngine engine, ContainerManager containerManager, EventBroker broker, NopConfig configuration)
        {
            //register dependencies provided by other assemblies
            containerManager.AddComponent<IWebHelper, WebHelper>("nop.webHelper");
            containerManager.AddComponent<ITypeFinder, WebAppTypeFinder>("nop.typeFinder");
            var typeFinder = containerManager.Resolve<ITypeFinder>();
            containerManager.UpdateContainer(x =>
            {
                var drTypes = typeFinder.FindClassesOfType<IDependencyRegistrar>();
                var drInstances = new List<IDependencyRegistrar>();
                foreach (var drType in drTypes)
                    drInstances.Add((IDependencyRegistrar)Activator.CreateInstance(drType));
                //sort
                drInstances = drInstances.AsQueryable().OrderBy(t => t.Order).ToList();
                foreach (var dependencyRegistrar in drInstances)
                    dependencyRegistrar.Register(x, typeFinder);
            });

            //Register event consumers
            var consumers = typeFinder.FindClassesOfType(typeof (IConsumer<>)).ToList();
            containerManager.UpdateContainer(x =>
            {
                foreach(var consumer in consumers)
                {
                    x.RegisterType(consumer)
                        .As(consumer.FindInterfaces((type, criteria) =>
                        {
                            var isMatch = type.IsGenericType && ((Type)criteria).IsAssignableFrom(type.GetGenericTypeDefinition());
                            return isMatch;
                        }, typeof (IConsumer<>)))
                        .InstancePerHttpRequest();
                }
            });

            containerManager.AddComponent<IEventPublisher, EventPublisher>("nop.eventPublisher");
            containerManager.AddComponent<ISubscriptionService, SubscriptionService>("nop.subscriptionService");

            //other dependencies
            containerManager.AddComponentInstance<NopConfig>(configuration, "nop.configuration");
            containerManager.AddComponentInstance<IEngine>(engine, "nop.engine");
            containerManager.AddComponentInstance<ContainerConfigurer>(this, "nop.containerConfigurer");

            //if (configuration.Components != null)
            //    RegisterConfiguredComponents(containerManager, configuration.Components);

            //event broker
            containerManager.AddComponentInstance(broker);

            //service registration
            containerManager.AddComponent<DependencyAttributeRegistrator>("nop.serviceRegistrator");
            var registrator = containerManager.Resolve<DependencyAttributeRegistrator>();
            var services = registrator.FindServices();
            var configurations = GetComponentConfigurations(configuration);
            services = registrator.FilterServices(services, configurations);
            registrator.RegisterServices(services);
        }
        public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, NopConfig config)
        {
            //data context
            this.RegisterPluginDataContext<WebApiObjectContext>(builder, CONTEXT_NAME);

            //override required repository with our custom context
            builder.RegisterType<EfRepository<Application>>()
                .As<IRepository<Application>>()
                .WithParameter(ResolvedParameter.ForNamed<IDbContext>(CONTEXT_NAME))
                .InstancePerLifetimeScope();
        }
示例#9
0
        /// <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, NopConfig config)
        {
            builder.RegisterType<TaxRateService>().As<ITaxRateService>().InstancePerLifetimeScope();

            //data context
            this.RegisterPluginDataContext<TaxRateObjectContext>(builder, "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, NopConfig config)
        {
            builder.RegisterType<StorePickupPointService>().As<IStorePickupPointService>().InstancePerLifetimeScope();

            //data context
            this.RegisterPluginDataContext<StorePickupPointObjectContext>(builder, "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();
        }
示例#11
0
        /// <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, NopConfig config)
        {
            builder.RegisterType<GoogleService>().As<IGoogleService>().InstancePerLifetimeScope();

            //data context
            this.RegisterPluginDataContext<GoogleProductObjectContext>(builder, "nop_object_context_google_product");

            //override required repository with our custom context
            builder.RegisterType<EfRepository<GoogleProductRecord>>()
                .As<IRepository<GoogleProductRecord>>()
                .WithParameter(ResolvedParameter.ForNamed<IDbContext>("nop_object_context_google_product"))
                .InstancePerLifetimeScope();
        }
示例#12
0
        /// <summary>
        /// Creates a factory instance and adds a http application injecting facility.
        /// </summary>
        /// <param name="config">Config</param>
        /// <returns>New engine instance</returns>
        protected static IEngine CreateEngineInstance(NopConfig config)
        {
            if (config != null && !string.IsNullOrEmpty(config.EngineType))
            {
                var engineType = Type.GetType(config.EngineType);
                if (engineType == null)
                    throw new ConfigurationErrorsException("The type '" + config.EngineType + "' could not be found. Please check the configuration at /configuration/nop/engine[@engineType] or check for missing assemblies.");
                if (!typeof(IEngine).IsAssignableFrom(engineType))
                    throw new ConfigurationErrorsException("The type '" + engineType + "' doesn't implement 'Nop.Core.Infrastructure.IEngine' and cannot be configured in /configuration/nop/engine[@engineType] for that purpose.");
                return Activator.CreateInstance(engineType) as IEngine;
            }

            return new NopEngine();
        }
        public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, NopConfig config)
        {
            builder.RegisterType<LicenseService>().As<ILicenseService>().InstancePerLifetimeScope();
            builder.RegisterType<PayPalHelper>().As<PayPalHelper>().InstancePerLifetimeScope();
                        
            //data context
            this.RegisterPluginDataContext<PayPalAdvancedObjectContext>(builder, "nop_object_context_paypaladvanced_license");

            //override required repository with our custom context
            builder.RegisterType<EfRepository<LicenseRecord>>()
                .As<IRepository<LicenseRecord>>()
                .WithParameter(ResolvedParameter.ForNamed<IDbContext>("nop_object_context_paypaladvanced_license"))
                .InstancePerLifetimeScope();
        }
		  public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, NopConfig config)
        {
            builder.RegisterType<KlarnaCheckoutHelper>().As<IKlarnaCheckoutHelper>().InstancePerLifetimeScope();
            builder.RegisterType<KlarnaCheckoutPaymentService>().As<IKlarnaCheckoutPaymentService>().InstancePerLifetimeScope();

            //data context
            this.RegisterPluginDataContext<KlarnaCheckoutContext>(builder, ContextName);

            //override required repository with our custom context
            builder.RegisterType<EfRepository<KlarnaCheckoutEntity>>()
                .As<IRepository<KlarnaCheckoutEntity>>()
                .WithParameter(ResolvedParameter.ForNamed<IDbContext>(ContextName))
                .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, NopConfig config)
		{
			builder.RegisterType<PaypalStandardAttribute>().As<IFilterProvider>();
			builder.RegisterType<PaypalStandardOrderProcessingService>().As<IPaypalStandardOrderProcessingService>().InstancePerLifetimeScope();
			builder.RegisterType<TempOrderService>().As<ITempOrder>().InstancePerLifetimeScope();

			//data context
			this.RegisterPluginDataContext<PaypalStandardObjectContext>(builder, "nop_object_context_payment_paypalstandard");

			//override required repository with our custom context
			builder.RegisterType<EfRepository<TempOrder>>()
				 .As<IRepository<TempOrder>>()
				 .WithParameter(ResolvedParameter.ForNamed<IDbContext>("nop_object_context_payment_paypalstandard"))
				 .InstancePerLifetimeScope();
		}
示例#16
0
        /// <summary>
        /// Creates a configuration section handler.
        /// </summary>
        /// <param name="parent">Parent object.</param>
        /// <param name="configContext">Configuration context object.</param>
        /// <param name="section">Section XML node.</param>
        /// <returns>The created section handler object.</returns>
        public object Create(object parent, object configContext, XmlNode section)
        {
            var config = new NopConfig();
            var dynamicDiscoveryNode = section.SelectSingleNode("DynamicDiscovery");
            if (dynamicDiscoveryNode != null && dynamicDiscoveryNode.Attributes != null)
            {
                var attribute = dynamicDiscoveryNode.Attributes["Enabled"];
                if (attribute != null)
                    config.DynamicDiscovery = Convert.ToBoolean(attribute.Value);
            }

            var engineNode = section.SelectSingleNode("Engine");
            if (engineNode != null && engineNode.Attributes != null)
            {
                var attribute = engineNode.Attributes["Type"];
                if (attribute != null)
                    config.EngineType = attribute.Value;
            }

            var startupNode = section.SelectSingleNode("Startup");
            if (startupNode != null && startupNode.Attributes != null)
            {
                var attribute = startupNode.Attributes["IgnoreStartupTasks"];
                if (attribute != null)
                    config.IgnoreStartupTasks = Convert.ToBoolean(attribute.Value);
            }

            var themeNode = section.SelectSingleNode("Themes");
            if (themeNode != null && themeNode.Attributes != null)
            {
                var attribute = themeNode.Attributes["basePath"];
                if (attribute != null)
                    config.ThemeBasePath = attribute.Value;
            }

            var userAgentStringsNode = section.SelectSingleNode("UserAgentStrings");
            if (userAgentStringsNode != null && userAgentStringsNode.Attributes != null)
            {
                var attribute = userAgentStringsNode.Attributes["databasePath"];
                if (attribute != null)
                    config.UserAgentStringsPath = attribute.Value;
            }

            return config;
        }
示例#17
0
        public AzurePictureService(IRepository<Picture> pictureRepository,
            IRepository<ProductPicture> productPictureRepository,
            IRepository<Product> productRepository,
            ISettingService settingService,
            IWebHelper webHelper,
            ILogger logger,
            IDbContext dbContext,
            IEventPublisher eventPublisher,
            MediaSettings mediaSettings,
            NopConfig config)
            : base(pictureRepository,
                productPictureRepository,
                productRepository,
                settingService,
                webHelper,
                logger,
                dbContext,
                eventPublisher,
                mediaSettings)
        {
            this._config = config;

            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");

            _storageAccount = CloudStorageAccount.Parse(_config.AzureBlobStorageConnectionString);
            if (_storageAccount == null)
                throw new Exception("Azure connection string for BLOB is not wrong");

            //should we do it for each HTTP request?
            blobClient = _storageAccount.CreateCloudBlobClient();
            BlobContainerPermissions containerPermissions = new BlobContainerPermissions();
            containerPermissions.PublicAccess = BlobContainerPublicAccessType.Blob;
            //container.SetPermissions(containerPermissions);
            container_thumb = blobClient.GetContainerReference(_config.AzureBlobStorageContainerName);
            container_thumb.CreateIfNotExists();
            container_thumb.SetPermissions(containerPermissions);
        }
示例#18
0
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="config">Config</param>
 /// <param name="webHelper">Web helper</param>
 /// <param name="httpContext">HTTP context</param>
 public UserAgentHelper(NopConfig config, IWebHelper webHelper, HttpContextBase httpContext)
 {
     this._config = config;
     this._webHelper = webHelper;
     this._httpContext = httpContext;
 }
示例#19
0
 public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, NopConfig config)
 {
     builder.RegisterType<GoogleService>().As<IGoogleService>().InstancePerLifetimeScope();
 }
示例#20
0
 public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, NopConfig config)
 {
     //we cache presentation models between requests
     builder.RegisterType<WidgetsNivoSliderController>();
 }
 // Register method for v3.70
 public void Register(ContainerBuilder builder, ITypeFinder typeFinder, NopConfig config)
 {
     //data context
     this.RegisterPluginDataContext<SupportTicketSystemContext>(builder, SUPPORT_TICKET_SYSTEM_CONTEXT_NAME);
     RegisterServices(builder);
 }
示例#22
0
 public InstallController(IInstallationLocalizationService locService, NopConfig config)
 {
     this._locService = locService;
     this._config = config;
 }
 public void Register(ContainerBuilder builder, ITypeFinder typeFinder, NopConfig config)
 {
     //data context
     this.RegisterPluginDataContext<AffiliateSystemContext>(builder, AFFILIATE_PROGRAM_CONTEXT_NAME);
     RegisterServices(builder);
 }
 // Register method for v3.70
 public void Register(ContainerBuilder builder, ITypeFinder typeFinder, NopConfig config)
 {
     //data context
     this.RegisterPluginDataContext<BridgePayContext>(builder, BRIDGE_PAY_CONTEXT_NAME);
 }
示例#25
0
        /// <summary>
        /// Creates a configuration section handler.
        /// </summary>
        /// <param name="parent">Parent object.</param>
        /// <param name="configContext">Configuration context object.</param>
        /// <param name="section">Section XML node.</param>
        /// <returns>The created section handler object.</returns>
        public object Create(object parent, object configContext, XmlNode section)
        {
            var config = new NopConfig();

            var startupNode = section.SelectSingleNode("Startup");

            if (startupNode != null && startupNode.Attributes != null)
            {
                var attribute = startupNode.Attributes["IgnoreStartupTasks"];
                if (attribute != null)
                {
                    config.IgnoreStartupTasks = Convert.ToBoolean(attribute.Value);
                }
            }

            var redisCachingNode = section.SelectSingleNode("RedisCaching");

            if (redisCachingNode != null && redisCachingNode.Attributes != null)
            {
                var enabledAttribute = redisCachingNode.Attributes["Enabled"];
                if (enabledAttribute != null)
                {
                    config.RedisCachingEnabled = Convert.ToBoolean(enabledAttribute.Value);
                }

                var connectionStringAttribute = redisCachingNode.Attributes["ConnectionString"];
                if (connectionStringAttribute != null)
                {
                    config.RedisCachingConnectionString = connectionStringAttribute.Value;
                }
            }

            var userAgentStringsNode = section.SelectSingleNode("UserAgentStrings");

            if (userAgentStringsNode != null && userAgentStringsNode.Attributes != null)
            {
                var attribute = userAgentStringsNode.Attributes["databasePath"];
                if (attribute != null)
                {
                    config.UserAgentStringsPath = attribute.Value;
                }
            }

            var supportPreviousNopcommerceVersionsNode = section.SelectSingleNode("SupportPreviousNopcommerceVersions");

            if (supportPreviousNopcommerceVersionsNode != null && supportPreviousNopcommerceVersionsNode.Attributes != null)
            {
                var attribute = supportPreviousNopcommerceVersionsNode.Attributes["Enabled"];
                if (attribute != null)
                {
                    config.SupportPreviousNopcommerceVersions = Convert.ToBoolean(attribute.Value);
                }
            }

            var webFarmsNode = section.SelectSingleNode("WebFarms");

            if (webFarmsNode != null && webFarmsNode.Attributes != null)
            {
                var multipleInstancesEnabledAttribute = webFarmsNode.Attributes["MultipleInstancesEnabled"];
                if (multipleInstancesEnabledAttribute != null)
                {
                    config.MultipleInstancesEnabled = Convert.ToBoolean(multipleInstancesEnabledAttribute.Value);
                }

                var runOnAzureWebsitesAttribute = webFarmsNode.Attributes["RunOnAzureWebsites"];
                if (runOnAzureWebsitesAttribute != null)
                {
                    config.RunOnAzureWebsites = Convert.ToBoolean(runOnAzureWebsitesAttribute.Value);
                }
            }

            var azureBlobStorageNode = section.SelectSingleNode("AzureBlobStorage");

            if (azureBlobStorageNode != null && azureBlobStorageNode.Attributes != null)
            {
                var azureConnectionStringAttribute = azureBlobStorageNode.Attributes["ConnectionString"];
                if (azureConnectionStringAttribute != null)
                {
                    config.AzureBlobStorageConnectionString = azureConnectionStringAttribute.Value;
                }

                var azureContainerNameAttribute = azureBlobStorageNode.Attributes["ContainerName"];
                if (azureContainerNameAttribute != null)
                {
                    config.AzureBlobStorageContainerName = azureContainerNameAttribute.Value;
                }

                var azureEndPointAttribute = azureBlobStorageNode.Attributes["EndPoint"];
                if (azureEndPointAttribute != null)
                {
                    config.AzureBlobStorageEndPoint = azureEndPointAttribute.Value;
                }
            }

            var installationNode = section.SelectSingleNode("Installation");

            if (installationNode != null && installationNode.Attributes != null)
            {
                var disableSampleDataDuringInstallationAttribute = installationNode.Attributes["DisableSampleDataDuringInstallation"];
                if (disableSampleDataDuringInstallationAttribute != null)
                {
                    config.DisableSampleDataDuringInstallation = Convert.ToBoolean(disableSampleDataDuringInstallationAttribute.Value);
                }

                var useFastInstallationServiceAttribute = installationNode.Attributes["UseFastInstallationService"];
                if (useFastInstallationServiceAttribute != null)
                {
                    config.UseFastInstallationService = Convert.ToBoolean(useFastInstallationServiceAttribute.Value);
                }

                var pluginsIgnoredDuringInstallationAttribute = installationNode.Attributes["PluginsIgnoredDuringInstallation"];
                if (pluginsIgnoredDuringInstallationAttribute != null)
                {
                    config.PluginsIgnoredDuringInstallation = pluginsIgnoredDuringInstallationAttribute.Value;
                }
            }

            return(config);
        }
 public void Register(ContainerBuilder builder, ITypeFinder typeFinder, NopConfig config)
 {
     //data context
     this.RegisterPluginDataContext<TaxGroupsContext>(builder, TAX_GROUPS_CONTEXT_NAME);
     RegisterServices(builder);
 }
示例#27
0
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="config">Config</param>
 /// <param name="httpContext">HTTP context</param>
 public UserAgentHelper(NopConfig config, HttpContextBase httpContext)
 {
     this._config = config;
     this._httpContext = httpContext;
 }
示例#28
0
 public ThemeProvider(NopConfig nopConfig, IWebHelper webHelper)
 {
     basePath = webHelper.MapPath(nopConfig.ThemeBasePath);
     LoadConfigurations();
 }
 public RedisConnectionWrapper(NopConfig config)
 {
     this._config = config;
     this._connectionString = new Lazy<string>(GetConnectionString);
 }
示例#30
0
 public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, NopConfig config)
 {
     builder.RegisterType<ShippingByWeightService>().As<IShippingByWeightService>().InstancePerLifetimeScope();
 }
示例#31
0
 public WebAppTypeFinder(NopConfig config)
 {
     this._ensureBinFolderAssembliesLoaded = config.DynamicDiscovery;
 }