|
|
|
|
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.AspNetCore.Mvc.Internal;
|
|
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
|
using Microsoft.Extensions.Options;
|
|
|
|
|
using MyCompanyName.MyProjectName.Localization.MyProjectName;
|
|
|
|
|
using MyCompanyName.MyProjectName.Menus;
|
|
|
|
|
using Volo.Abp;
|
|
|
|
|
using Volo.Abp.Account.Web;
|
|
|
|
|
using Volo.Abp.AspNetCore.Modularity;
|
|
|
|
|
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic;
|
|
|
|
|
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared;
|
|
|
|
|
using Volo.Abp.AspNetCore.TestBase;
|
|
|
|
|
using Volo.Abp.Identity.Web;
|
|
|
|
|
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(MyProjectNameApplicationTestModule),
|
|
|
|
|
typeof(AbpIdentityWebModule),
|
|
|
|
|
typeof(AbpAccountWebModule),
|
|
|
|
|
typeof(AbpAspNetCoreMvcUiBasicThemeModule)
|
|
|
|
|
)]
|
|
|
|
|
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<NavigationOptions>(options =>
|
|
|
|
|
{
|
|
|
|
|
options.MenuContributors.Add(new MyProjectNameMenuContributor());
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void OnApplicationInitialization(ApplicationInitializationContext context)
|
|
|
|
|
{
|
|
|
|
|
var app = context.GetApplicationBuilder();
|
|
|
|
|
var env = context.GetEnvironment();
|
|
|
|
|
|
|
|
|
|
//app.UseErrorPage();
|
|
|
|
|
|
|
|
|
|
app.UseVirtualFiles();
|
|
|
|
|
app.UseAuthentication();
|
|
|
|
|
|
|
|
|
|
app.UseRequestLocalization(app.ApplicationServices.GetRequiredService<IOptions<RequestLocalizationOptions>>().Value);
|
|
|
|
|
|
|
|
|
|
app.UseMvc(routes =>
|
|
|
|
|
{
|
|
|
|
|
routes.MapRoute(
|
|
|
|
|
name: "defaultWithArea",
|
|
|
|
|
template: "{area}/{controller=Home}/{action=Index}/{id?}");
|
|
|
|
|
|
|
|
|
|
routes.MapRoute(
|
|
|
|
|
name: "default",
|
|
|
|
|
template: "{controller=Home}/{action=Index}/{id?}");
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|