public AccountManager(IHttpContextAccessor httpContextAccessor, AppUserManager appUserManager,
                       IMapper mapper, ILoggerFactory loggerFactory, AppUserRepository appUserRepository,
                       ImageTmpBucket imageTmpBucket, ImageOriginBucket imageOriginBucket,
                       UrlRedirectSettings urlRedirectSettings, TemplateParser templateParser, EmailSendTaskRepository emailSendTaskRepository) : base(httpContextAccessor, appUserManager, mapper, loggerFactory)
 {
     _appUserRepository       = appUserRepository;
     _imageTmpBucket          = imageTmpBucket;
     _imageOriginBucket       = imageOriginBucket;
     _urlRedirectSettings     = urlRedirectSettings;
     _templateParser          = templateParser;
     _emailSendTaskRepository = emailSendTaskRepository;
 }
示例#2
0
 public LoginManager(IHttpContextAccessor httpContextAccessor, AppUserManager appUserManager,
                     IMapper mapper, ILoggerFactory loggerFactory,
                     AppUserRepository appUserRepository, ProviderRepository providerRepository,
                     EmailSendTaskRepository emailSendTaskRepository, UrlRedirectSettings urlRedirectSettings,
                     TemplateParser templateParser, UserResetPasswordRepository userResetPasswordRepository, ExternalServiceSettings externalServiceSettings) : base(httpContextAccessor, appUserManager, mapper, loggerFactory)
 {
     _appUserRepository           = appUserRepository;
     _providerRepository          = providerRepository;
     _emailSendTaskRepository     = emailSendTaskRepository;
     _urlRedirectSettings         = urlRedirectSettings;
     _templateParser              = templateParser;
     _userResetPasswordRepository = userResetPasswordRepository;
     _externalServiceSettings     = externalServiceSettings;
 }
示例#3
0
        public static void AddDependencies(IServiceCollection services, IConfiguration configuration)
        {
            // options
            TemplateSettings tSettings = new TemplateSettings();

            configuration.GetSection("Templates").Bind(tSettings);
            services.AddSingleton(tSettings);

            ExternalServiceSettings externalSettings = new ExternalServiceSettings();

            configuration.GetSection("ExternalServices").Bind(externalSettings);
            services.AddSingleton(externalSettings);

            UrlRedirectSettings urlSettings = new UrlRedirectSettings();

            configuration.GetSection("UrlRedirect").Bind(urlSettings);
            services.AddSingleton(urlSettings);

            // tools
            services.AddTransient <TemplateParser>();
            services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>();

            services.AddTransient <ImageTmpBucket>(x => (ImageTmpBucket) new ImageTmpBucket(RegionEndpoint.USEast1, "AKIAJJKBZQCLBYWOJX5A", "I0xyr6J2mPQaiENC1s16MTHbgek7A9i8ES1mdF16").SetBucket("madrat-media").SetSubdirectory("img_tmp"));
            services.AddTransient <ImageOriginBucket>(x => (ImageOriginBucket) new ImageOriginBucket(RegionEndpoint.USEast1, "AKIAJJKBZQCLBYWOJX5A", "I0xyr6J2mPQaiENC1s16MTHbgek7A9i8ES1mdF16").SetBucket("madrat-media").SetSubdirectory("img_origin"));

            Type[] ignoreRepos = new Type[] { typeof(AppUserManager), typeof(ImageTmpBucket), typeof(ImageOriginBucket) };

            // repos
            services.Scan(x =>
                          x.FromAssemblyOf <ProviderRepository>()
                          .AddClasses(c => c.Where(z => !ignoreRepos.Contains(z)))
                          .AsSelf().WithTransientLifetime());

            //managers
            services.Scan(x => x
                          .FromAssemblyOf <AccountManager>()
                          .AddClasses(true)
                          .AsSelf()
                          .WithTransientLifetime());

            // services
            services.Scan(x =>
                          x.FromAssemblyOf <EmailMadRatBotService>()
                          .AddClasses(c => c.Where(z => !ignoreRepos.Contains(z)))
                          .AsSelf().WithTransientLifetime());

            // email settings
            services.Configure <EmailConfigurationMadRatBot>(configuration.GetSection("Email").GetSection("MadRatBot"));
        }