public static KaspServiceBuilder AddLocalization(this KaspServiceBuilder builder, Action <KaspLocalizationOptionBuilder> optionsAction) { var options = new KaspLocalizationOptionBuilder(builder.Services) { LocalizationOptions = new KaspLocalizationOptions() }; optionsAction?.Invoke(options); builder.Services.AddLocalization(localizationOptions => localizationOptions.ResourcesPath = options.LocalizationOptions.ResourcesPath); builder.MvcBuilder.AddViewLocalization(localizationOptions => localizationOptions.ResourcesPath = options.LocalizationOptions.ResourcesPath); // builder.MvcBuilder.AddDataAnnotationsLocalization(options => options.) builder.Services.AddMemoryCache(); if (options.LocalizationOptions.StringLocalizerFactory != null) { builder.Services.AddSingleton(typeof(IStringLocalizerFactory), options.LocalizationOptions.StringLocalizerFactory); } if (options.LocalizationOptions.StringLocalizerFactory != null) { builder.Services.AddSingleton(typeof(IStringLocalizer), options.LocalizationOptions.StringLocalizer); } builder.Services.Configure <RequestLocalizationOptions>(localizationOptions => { localizationOptions.AddSupportedCultures(options.SupportedCultures.ToArray()); localizationOptions.AddSupportedUICultures(options.SupportedCultures.ToArray()); localizationOptions.SetDefaultCulture(options.DefaultCulture); }); return(builder); }
private static KaspDbServiceBuilder _AddDatabase <TDbContext>(KaspServiceBuilder builder) where TDbContext : DbContext { // builder.Services.AddScoped<DbContext, TDbContext>(); return(new KaspDbServiceBuilder(builder.Services, builder.Configuration, builder.MvcBuilder)); }
public static KaspDbServiceBuilder AddDataBase <TDbContext>(this KaspServiceBuilder builder, Action <DbContextOptionsBuilder> optionsAction, ServiceLifetime lifetime = ServiceLifetime.Scoped) where TDbContext : DbContext { builder.Services.AddDbContext <TDbContext>(optionsAction, lifetime); return(_AddDatabase <TDbContext>(builder)); }
public static KaspDbServiceBuilder AddDataBasePool <TDbContext>(this KaspServiceBuilder builder, Action <DbContextOptionsBuilder> optionsAction) where TDbContext : DbContext { builder.Services.AddDbContextPool <TDbContext>(optionsAction); return(_AddDatabase <TDbContext>(builder)); }