mirror of https://github.com/abpframework/abp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
3.6 KiB
113 lines
3.6 KiB
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.Localization.Resources.AbpValidation;
|
|
using Volo.Abp.Modularity;
|
|
using Volo.Abp.UI.Navigation;
|
|
|
|
namespace MyCompanyName.MyProjectName
|
|
{
|
|
[DependsOn(
|
|
typeof(AbpAspNetCoreTestBaseModule),
|
|
typeof(MyProjectNameWebModule),
|
|
typeof(MyProjectNameApplicationTestModule)
|
|
)]
|
|
public class MyProjectNameWebTestModule : AbpModule
|
|
{
|
|
public override void PreConfigureServices(ServiceConfigurationContext context)
|
|
{
|
|
context.Services.PreConfigure<IMvcBuilder>(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<CultureInfo> { new CultureInfo("en"), new CultureInfo("tr") };
|
|
services.Configure<RequestLocalizationOptions>(options =>
|
|
{
|
|
options.DefaultRequestCulture = new RequestCulture("en");
|
|
options.SupportedCultures = cultures;
|
|
options.SupportedUICultures = cultures;
|
|
});
|
|
|
|
services.Configure<AbpLocalizationOptions>(options =>
|
|
{
|
|
options.Resources
|
|
.Get<MyProjectNameResource>()
|
|
.AddBaseTypes(
|
|
typeof(AbpValidationResource),
|
|
typeof(AbpUiResource)
|
|
);
|
|
});
|
|
}
|
|
|
|
private static void ConfigureNavigationServices(IServiceCollection services)
|
|
{
|
|
services.Configure<AbpNavigationOptions>(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();
|
|
}
|
|
}
|
|
} |