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); }
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 => { })); }
public static IPagesBuilder AddContentTypesFromAssemblies(this IPagesBuilder builder, params Assembly[] assemblies) { builder.Services.AddSingleton <IContentTypeLocator>(new AssemblyContentTypeLocator(assemblies)); return(builder); }