public static IPagesBuilder AddImageResizer <T>(this IPagesBuilder builder)
            where T : class, Images.IImageResizer
        {
            builder.Services.AddTransient <Images.IImageResizer, T>();

            return(builder);
        }
        public static IPagesBuilder AddRazorContentPage(this IPagesBuilder builder, Action <ContentPageOptions> optionAction)
        {
            var contentPageOptions = new ContentPageOptions();

            optionAction?.Invoke(contentPageOptions);

            var services = builder.Services;

            services.AddHttpContextAccessor();

            services.Configure <RazorPagesOptions>(options =>
            {
                options.Conventions.AddPageRoute(contentPageOptions.ContentPageName, "{**url}");
            });

            services.AddTransient <Url.IPageLinkGenerator, Url.RazorPageLinkGenerator>();
            services.AddTransient <Files.IFileUrlGenerator, Url.FileUrlGenerator>();

            services.AddSingleton <Views.IViewLocator, Views.RazorViewLocator>();
            services.AddScoped <Views.IViewRenderService, Views.RazorViewRenderService>();

            services.Configure(optionAction);

            return(builder);
        }
Esempio n. 3
0
        public static IPagesBuilder AddUserAccessProvider <T>(this IPagesBuilder builder, ServiceLifetime serviceLifetime)
            where T : Identity.IAccessProvider
        {
            builder.Services.Add(new ServiceDescriptor(typeof(Identity.IAccessProvider), typeof(T), serviceLifetime));

            return(builder);
        }
        public static IPagesBuilder AddFakes(this IPagesBuilder builder)
        {
            builder.Services.AddPagesTesting();

            builder
            .AddUserProvider <Identity.FakeUserProvider>(ServiceLifetime.Singleton)
            .AddUserAccessProvider <Identity.FakeAccessProvider>(ServiceLifetime.Scoped);

            return(builder);
        }
        public static IPagesBuilder AddMongoDb <TContext>(this IPagesBuilder builder)
            where TContext : MongoDbContext, MongoDb.IPagesDbContext
        {
            builder.Services.AddMongoDbContextExension <TContext, MongoDb.IPagesDbContext>();
            builder.Services.Configure <MigrationOptions>(options =>
            {
                options.AddAssembly(typeof(MongoDb._migrations.SetupMigration).Assembly);
            });

            AddMongoDbRepositories(builder.Services);

            return(builder);
        }
        public static IPagesBuilder AddMongoDb(this IPagesBuilder builder, IConfiguration configuration)
        {
            builder.Services.AddMongoDbContext <MongoDb.PagesDbContext>(configuration);

            return(AddMongoDb <MongoDb.PagesDbContext>(builder));
        }
        public static IPagesBuilder AddMongoDb(this IPagesBuilder builder, Action <IMongoDbContextBuilder> options)
        {
            builder.Services.AddMongoDbContext <MongoDb.PagesDbContext>(options);

            return(AddMongoDb <MongoDb.PagesDbContext>(builder));
        }
 public static IPagesBuilder AddRazorContentPage(this IPagesBuilder builder)
 {
     return(AddRazorContentPage(builder, options => { }));
 }
Esempio n. 9
0
 public static IPagesBuilder AddContentTypesFromAssemblies(this IPagesBuilder builder, params Assembly[] assemblies)
 {
     builder.Services.AddSingleton <IContentTypeLocator>(new AssemblyContentTypeLocator(assemblies));
     return(builder);
 }