using System.Linq; using Abp.Localization; using ContractService.Configuration; using ContractService.EF; using IwbZero.Authorization.Base.SystemInfo; namespace ContractService.SeedData { public class DefaultSettingsCreator { private readonly ContractServiceDbContext _context; public DefaultSettingsCreator(ContractServiceDbContext context) { _context = context; } public void Create() { _context.TruncateTable("[dbo].[Sys_Settings]"); /* ------------------------------------------------------------------------- */ AddSettingIfNotExists("默认语言", LocalizationSettingNames.DefaultLanguage, IwbConsts.DefaultLanguage, "默认语言", SystemSettingTypeDefinition.System); AddSettingIfNotExists("登陆页面背景路径", IwbSettingNames.LoginPagePath, IwbConsts.LoginHomeImagePath, "登陆页面背景的基础路径", SystemSettingTypeDefinition.User); AddSettingIfNotExists("主页面背景路径", IwbSettingNames.HomePagePath, IwbConsts.LoginHomeImagePath, "主页面背景的基础路径", SystemSettingTypeDefinition.User); AddSettingIfNotExists("是否开启接受通知", IwbSettingNames.ReceiveNotifications, "true", "是否开启接受通知(true:开启、false:禁用)", SystemSettingTypeDefinition.User); AddSettingIfNotExists("是否多语言", IwbSettingNames.MultiLanguages, MultiLanguagesDefinition.Multi, "是:Y;否:N"); AddSettingIfNotExists("平台名称", IwbSettingNames.AdminSystemName, "上海市联合律师事务所"); //AddSettingIfNotExists("平台版本", IwbSettingNames.AdminSystemVersion, "1.0.0"); AddSettingIfNotExists("文件路径", IwbSettingNames.DownloadPath, "Download/AttachFiles", "上传文件默认路径"); AddSettingIfNotExists("文件类型", IwbSettingNames.UploadFileExt, "jpg,png,pdf,xlsx,xls,doc,docx,zip,rar", "系统允许上传的文件类型"); AddSettingIfNotExists("单文件文件大小(单位:兆)", IwbSettingNames.UploadFileMaxSize, "10", "系统允许上传的单个文件最大值(最小1M、最大100M、非法值取10M)"); AddSettingIfNotExists("用户默认密码", IwbSettingNames.UserDefaultPassword, "111222", "新创建用户初始密码"); //AddSettingIfNotExists("页面底部", IwbSettingNames.HtmlPagesFooter, @"Copyright © 2019 JY.Net. All Rights Reserved.", "页面底部内容"); AddSettingIfNotExists("系统英文缩写", IwbSettingNames.SystemShortAbbreviation, @"IWB", "系统生成的GUID前缀,公司名称的缩写"); } private void AddSettingIfNotExists(string displayName, string name, string value, string desc = null, int? type = SystemSettingTypeDefinition.Tenant, int? tenantId = null) { // ReSharper disable once ConditionIsAlwaysTrueOrFalse if (tenantId == null && !IwbConsts.MultiTenancyEnabled) { tenantId = 1; } if (_context.Settings.Any(s => s.Name == name && s.TenantId == tenantId && s.UserId == null)) { return; } var setting = new SysSetting(tenantId, null, name, value, displayName, type) { Description = desc ?? displayName }; _context.Settings.Add(setting); _context.SaveChanges(); } } }