Esempio n. 1
0
 public CampaignMonitorProvider(
     IAntiforgery antiForgery,
     IHttpContextAccessor httpContextAccessor,
     IHostingEnvironment env,
     IMapper mapper,
     IAppSettings appSettings,
     CampaignMonitorConfiguration configuration
     ) : base(antiForgery, httpContextAccessor, env, mapper, appSettings)
 {
     this.configuration = configuration;
 }
        public static OurOrdersBuilder UseCampaignMonitor(this OurOrdersBuilder builder, string apiKey, string listId)
        {
            var config = new CampaignMonitorConfiguration
            {
                ApiKey = apiKey,
                ListId = listId
            };

            builder.AppEvents.Configure += (sender, services) =>
            {
                services.AddTransient<INewsletterProvider, CampaignMonitorProvider>();
                services.AddSingleton<CampaignMonitorConfiguration>(config);
            };
            
            builder.HostServices.AddSingleton<CampaignMonitorConfiguration>(config);

            builder.AppSettings.ExternalControllers.Add(typeof(CampaignMonitorProvider));

            return builder;
        }