using System; using System.Linq; using ContractService.BaseInfo; using ContractService.Configuration; using ContractService.EF; using ContractService.LegalCase; using ContractService.LegalContract; namespace ContractService.SeedData { public class DefaultStatesCreator { private readonly ContractServiceDbContext _context; public DefaultStatesCreator(ContractServiceDbContext context) { _context = context; } public void Create() { _context.TruncateTable("[dbo].[Sys_States]"); CreateState("项目状态", "LegalService", "State", LegalCaseStateDefinition.New, "新建"); CreateState("项目状态", "LegalService", "State", LegalCaseStateDefinition.Running, "已启动"); CreateState("项目状态", "LegalService", "State", LegalCaseStateDefinition.Hang, "已挂起"); CreateState("项目状态", "LegalService", "State", LegalCaseStateDefinition.End , "已关闭"); CreateState("项目等级", "LegalService", "Level", "1", "★"); CreateState("项目等级", "LegalService", "Level", "2", "★★"); CreateState("项目等级", "LegalService", "Level", "3", "★★★"); CreateState("项目等级", "LegalService", "Level", "4", "★★★★"); CreateState("项目等级", "LegalService", "Level", "5", "★★★★★"); CreateState("合同状态", "LegalContract", "State", LegalContractStateDefinition.New, "新建"); CreateState("合同状态", "LegalContract", "State", LegalContractStateDefinition.Running, "已启动"); CreateState("合同状态", "LegalContract", "State", LegalContractStateDefinition.Hang, "已挂起"); CreateState("合同状态", "LegalContract", "State", LegalContractStateDefinition.End, "已关闭"); CreateState("关键点状态", "KeyPoint", "State", LegalKeyPointStateDefinition.New, "新建"); CreateState("关键点状态", "KeyPoint", "State", LegalKeyPointStateDefinition.Run, "待履行"); CreateState("关键点状态", "KeyPoint", "State", LegalKeyPointStateDefinition.Executed, "已履行"); CreateState("关键点状态", "KeyPoint", "State", LegalKeyPointStateDefinition.Hang, "已挂起"); CreateState("关键点状态", "KeyPoint", "State", LegalKeyPointStateDefinition.End, "已关闭"); CreateState("关键点等级", "KeyPoint", "Level", LegalKeyPointLevelDefinition.Common, "一般"); CreateState("关键点等级", "KeyPoint", "Level", LegalKeyPointLevelDefinition.Important, "重要"); CreateState("关键点等级", "KeyPoint", "Level", LegalKeyPointLevelDefinition.Urgent, "紧急"); /* ------------------------------------------------------------------------- */ #region Default CreateState("激活状态", "Active", "Status", "false", "未激活"); CreateState("激活状态", "Active", "Status", "true", "已激活"); //CreateState("性别", "Gender", "Type", "0", "未知"); CreateState("性别", "Gender", "Type", GenderTypeDefinition.Man, "男"); CreateState("性别", "Gender", "Type", GenderTypeDefinition.Women, "女"); CreateState("用户角色类型", "UserRole", "UserRoleType", UsersAndRolesTypeDefinition.Supper, "超级管理员"); CreateState("用户角色类型", "UserRole", "UserRoleType", UsersAndRolesTypeDefinition.System, "系统用户"); CreateState("用户角色类型", "UserRole", "UserRoleType", UsersAndRolesTypeDefinition.Advanced, "高级用户"); CreateState("用户角色类型", "UserRole", "UserRoleType", UsersAndRolesTypeDefinition.Ordinary, "普通用户"); CreateState("账号类型", "Account", "AccountType", AccountTypeDefinition.System, "系统用户"); CreateState("账号类型", "Account", "AccountType", AccountTypeDefinition.Lawyer, "律师用户"); CreateState("账号类型", "Account", "AccountType", AccountTypeDefinition.Client, "客户用户"); CreateState("菜单类型", "Function", "FunctionType", FunctionTypeDefinition.Catalog, "目录"); CreateState("菜单类型", "Function", "FunctionType", FunctionTypeDefinition.Menu, "菜单"); CreateState("菜单类型", "Function", "FunctionType", FunctionTypeDefinition.Button, "按钮"); CreateState("菜单类型", "Function", "FunctionType", FunctionTypeDefinition.NotShow, "不显示"); #endregion CreateState("帮助类别", "SysHelp", "Classification", "0", "系统帮助"); } private void CreateState(string name, string t, string c, string v, string d) { if (_context.SysStates.Any(s => s.TableName == t && s.ColumnName == c && s.CodeValue == v)) { return; } _context.SysStates.Add(new SysState() { StateNo = Guid.NewGuid().ToString("N"), StateName = name, TableName = t, ColumnName = c, CodeValue = v, DisplayValue = d, }); _context.SaveChanges(); } private void CreateState(string name, string t, string c, int v, string d) { if (_context.SysStates.Any(s => s.TableName == t && s.ColumnName == c && s.CodeValue == v + "")) { return; } _context.SysStates.Add(new SysState() { StateNo = Guid.NewGuid().ToString("N"), StateName = name, TableName = t, ColumnName = c, CodeValue = v + "", DisplayValue = d, }); _context.SaveChanges(); } } }