using System.Collections.Generic; using System.Globalization; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Localization; using Microsoft.AspNetCore.Mvc.ApplicationParts; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Skcks.Study.AbpProject.EntityFrameworkCore; using Skcks.Study.AbpProject.Web; using Skcks.Study.AbpProject.Web.Menus; using Volo.Abp.AspNetCore.TestBase; using Volo.Abp.Modularity; using Volo.Abp.OpenIddict; using Volo.Abp.UI.Navigation; namespace Skcks.Study.AbpProject; [DependsOn( typeof(AbpAspNetCoreTestBaseModule), typeof(AbpProjectWebModule), typeof(AbpProjectApplicationTestModule), typeof(AbpProjectEntityFrameworkCoreTestModule) )] public class AbpProjectWebTestModule : AbpModule { public override void PreConfigureServices(ServiceConfigurationContext context) { var builder = new ConfigurationBuilder(); builder.AddJsonFile("appsettings.json", false); builder.AddJsonFile("appsettings.secrets.json", true); context.Services.ReplaceConfiguration(builder.Build()); context.Services.PreConfigure(builder => { builder.PartManager.ApplicationParts.Add(new CompiledRazorAssemblyPart(typeof(AbpProjectWebModule).Assembly)); }); context.Services.GetPreConfigureActions().Clear(); PreConfigure(options => { options.AddDevelopmentEncryptionAndSigningCertificate = true; }); } public override void ConfigureServices(ServiceConfigurationContext context) { ConfigureLocalizationServices(context.Services); ConfigureNavigationServices(context.Services); } private static void ConfigureLocalizationServices(IServiceCollection services) { var cultures = new List { new CultureInfo("en"), new CultureInfo("tr") }; services.Configure(options => { options.DefaultRequestCulture = new RequestCulture("en"); options.SupportedCultures = cultures; options.SupportedUICultures = cultures; }); } private static void ConfigureNavigationServices(IServiceCollection services) { services.Configure(options => { options.MenuContributors.Add(new AbpProjectMenuContributor()); }); } }