using System; using System.Collections.Generic; using System.Globalization; using Localization.Resources.AbpUi; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Localization; using Microsoft.AspNetCore.Mvc.ApplicationParts; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using MyCompanyName.MyProjectName.Localization; using MyCompanyName.MyProjectName.Web; using MyCompanyName.MyProjectName.Web.Menus; using Volo.Abp; using Volo.Abp.AspNetCore.TestBase; using Volo.Abp.Localization; using Volo.Abp.Modularity; using Volo.Abp.UI.Navigation; using Volo.Abp.Validation.Localization; namespace MyCompanyName.MyProjectName { [DependsOn( typeof(AbpAspNetCoreTestBaseModule), typeof(MyProjectNameWebModule), typeof(MyProjectNameApplicationTestModule) )] public class MyProjectNameWebTestModule : AbpModule { public override void PreConfigureServices(ServiceConfigurationContext context) { context.Services.PreConfigure(builder => { builder.PartManager.ApplicationParts.Add(new AssemblyPart(typeof(MyProjectNameWebModule).Assembly)); }); } 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; }); services.Configure(options => { options.Resources .Get() .AddBaseTypes( typeof(AbpValidationResource), typeof(AbpUiResource) ); }); } private static void ConfigureNavigationServices(IServiceCollection services) { services.Configure(options => { options.MenuContributors.Add(new MyProjectNameMenuContributor()); }); } public override void OnApplicationInitialization(ApplicationInitializationContext context) { var app = context.GetApplicationBuilder(); var env = context.GetEnvironment(); app.Use(async (ctx, next) => { try { await next(); } catch (Exception e) { Console.WriteLine(e); throw; } }); app.UseVirtualFiles(); app.UseRouting(); app.UseAuthentication(); app.UseAuthorization(); app.UseAbpRequestLocalization(); app.Use(async (ctx, next) => { try { await next(); } catch (Exception e) { Console.WriteLine(e); throw; } }); app.UseMvcWithDefaultRouteAndArea(); } } }