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.
		
		
		
		
		
			
		
			
				
					
					
						
							141 lines
						
					
					
						
							5.7 KiB
						
					
					
				
			
		
		
	
	
							141 lines
						
					
					
						
							5.7 KiB
						
					
					
				using System.IO;
 | 
						|
using Microsoft.AspNetCore.Builder;
 | 
						|
using Microsoft.Extensions.DependencyInjection;
 | 
						|
using Microsoft.Extensions.DependencyInjection.Extensions;
 | 
						|
using Microsoft.Extensions.Hosting;
 | 
						|
using Microsoft.OpenApi.Models;
 | 
						|
using Volo.Abp.Account;
 | 
						|
using Volo.Abp.Account.Web;
 | 
						|
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic;
 | 
						|
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared;
 | 
						|
using Volo.Abp.Autofac;
 | 
						|
using Volo.Abp.Data;
 | 
						|
using Volo.Abp.Emailing;
 | 
						|
using Volo.Abp.EntityFrameworkCore;
 | 
						|
using Volo.Abp.EntityFrameworkCore.SqlServer;
 | 
						|
using Volo.Abp.Identity;
 | 
						|
using Volo.Abp.Identity.EntityFrameworkCore;
 | 
						|
using Volo.Abp.Identity.Web;
 | 
						|
using Volo.Abp.Localization;
 | 
						|
using Volo.Abp.Modularity;
 | 
						|
using Volo.Abp.MultiTenancy;
 | 
						|
using Volo.Abp.PermissionManagement;
 | 
						|
using Volo.Abp.PermissionManagement.EntityFrameworkCore;
 | 
						|
using Volo.Abp.PermissionManagement.Identity;
 | 
						|
using Volo.Abp.SettingManagement.EntityFrameworkCore;
 | 
						|
using Volo.Abp.SettingManagement.Web;
 | 
						|
using Volo.Abp.Threading;
 | 
						|
using Volo.Abp.VirtualFileSystem;
 | 
						|
 | 
						|
namespace Volo.Abp.SettingManagement.DemoApp
 | 
						|
{
 | 
						|
    [DependsOn(
 | 
						|
        typeof(AbpSettingManagementWebModule),
 | 
						|
        typeof(AbpSettingManagementApplicationModule),
 | 
						|
        typeof(AbpAutofacModule),
 | 
						|
        typeof(AbpAccountWebModule),
 | 
						|
        typeof(AbpAccountApplicationModule),
 | 
						|
        typeof(AbpEntityFrameworkCoreSqlServerModule),
 | 
						|
        typeof(AbpSettingManagementEntityFrameworkCoreModule),
 | 
						|
        typeof(AbpPermissionManagementEntityFrameworkCoreModule),
 | 
						|
        typeof(AbpPermissionManagementApplicationModule),
 | 
						|
        typeof(AbpIdentityWebModule),
 | 
						|
        typeof(AbpIdentityApplicationModule),
 | 
						|
        typeof(AbpIdentityEntityFrameworkCoreModule),
 | 
						|
        typeof(AbpPermissionManagementDomainIdentityModule),
 | 
						|
        typeof(AbpAspNetCoreMvcUiBasicThemeModule)
 | 
						|
        )]
 | 
						|
    public class DemoAppModule : AbpModule
 | 
						|
    {
 | 
						|
        public override void ConfigureServices(ServiceConfigurationContext context)
 | 
						|
        {
 | 
						|
            var hostingEnvironment = context.Services.GetHostingEnvironment();
 | 
						|
            var configuration = context.Services.GetConfiguration();
 | 
						|
 | 
						|
#if DEBUG
 | 
						|
            context.Services.Replace(ServiceDescriptor.Singleton<IEmailSender, NullEmailSender>());
 | 
						|
#endif
 | 
						|
 | 
						|
            Configure<AbpDbContextOptions>(options =>
 | 
						|
            {
 | 
						|
                options.UseSqlServer();
 | 
						|
            });
 | 
						|
 | 
						|
            if (hostingEnvironment.IsDevelopment())
 | 
						|
            {
 | 
						|
                Configure<AbpVirtualFileSystemOptions>(options =>
 | 
						|
                {
 | 
						|
                    options.FileSets.ReplaceEmbeddedByPhysical<AbpSettingManagementWebModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}Volo.Abp.SettingManagement.Web", Path.DirectorySeparatorChar)));
 | 
						|
                    options.FileSets.ReplaceEmbeddedByPhysical<AbpSettingManagementDomainModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}Volo.Abp.SettingManagement.Domain", Path.DirectorySeparatorChar)));
 | 
						|
                    options.FileSets.ReplaceEmbeddedByPhysical<AbpSettingManagementApplicationModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}Volo.Abp.SettingManagement.Application", Path.DirectorySeparatorChar)));
 | 
						|
                    options.FileSets.ReplaceEmbeddedByPhysical<AbpSettingManagementApplicationContractsModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}Volo.Abp.SettingManagement.Application.Contracts", Path.DirectorySeparatorChar)));
 | 
						|
                });
 | 
						|
            }
 | 
						|
 | 
						|
            context.Services.AddSwaggerGen(
 | 
						|
                options =>
 | 
						|
                {
 | 
						|
                    options.SwaggerDoc("v1", new OpenApiInfo { Title = "AbpSettingManagement API", Version = "v1" });
 | 
						|
                    options.DocInclusionPredicate((docName, description) => true);
 | 
						|
                    options.CustomSchemaIds(type => type.FullName);
 | 
						|
                });
 | 
						|
 | 
						|
            Configure<AbpLocalizationOptions>(options =>
 | 
						|
            {
 | 
						|
                options.Languages.Add(new LanguageInfo("en", "en", "English"));
 | 
						|
                options.Languages.Add(new LanguageInfo("tr", "tr", "Türkçe"));
 | 
						|
                options.Languages.Add(new LanguageInfo("fi", "fi", "Finnish"));
 | 
						|
                options.Languages.Add(new LanguageInfo("fr", "fr", "Français"));
 | 
						|
                options.Languages.Add(new LanguageInfo("hi", "hi", "Hindi", "in"));
 | 
						|
                options.Languages.Add(new LanguageInfo("it", "it", "Italian", "it"));
 | 
						|
            });
 | 
						|
 | 
						|
            Configure<AbpMultiTenancyOptions>(options =>
 | 
						|
            {
 | 
						|
                options.IsEnabled = true;
 | 
						|
            });
 | 
						|
        }
 | 
						|
 | 
						|
        public override void OnApplicationInitialization(ApplicationInitializationContext context)
 | 
						|
        {
 | 
						|
            var app = context.GetApplicationBuilder();
 | 
						|
 | 
						|
            if (context.GetEnvironment().IsDevelopment())
 | 
						|
            {
 | 
						|
                app.UseDeveloperExceptionPage();
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                app.UseErrorPage();
 | 
						|
                app.UseHsts();
 | 
						|
            }
 | 
						|
 | 
						|
            app.UseHttpsRedirection();
 | 
						|
            app.UseStaticFiles();
 | 
						|
            app.UseRouting();
 | 
						|
            app.UseAuthentication();
 | 
						|
            app.UseAuthorization();
 | 
						|
            app.UseMultiTenancy();
 | 
						|
            app.UseAbpRequestLocalization();
 | 
						|
 | 
						|
            app.UseSwagger();
 | 
						|
            app.UseSwaggerUI(options =>
 | 
						|
            {
 | 
						|
                options.SwaggerEndpoint("/swagger/v1/swagger.json", "SettingManagement APP API");
 | 
						|
            });
 | 
						|
 | 
						|
            app.UseConfiguredEndpoints();
 | 
						|
 | 
						|
            using (var scope = context.ServiceProvider.CreateScope())
 | 
						|
            {
 | 
						|
                AsyncHelper.RunSync(async () =>
 | 
						|
                {
 | 
						|
                    await scope.ServiceProvider
 | 
						|
                        .GetRequiredService<IDataSeeder>()
 | 
						|
                        .SeedAsync();
 | 
						|
                });
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |