using System; using System.Linq; using WeOnlineApp.BaseInfo; using WeOnlineApp.Configuration; using WeOnlineApp.EF; namespace WeOnlineApp.SeedData { public class DefaultStatesCreator { private readonly WeOnlineAppDbContext _context; public DefaultStatesCreator(WeOnlineAppDbContext context) { _context = context; } public void Create() { _context.TruncateTable("[dbo].[Sys_States]"); CreateState("培训营状态", "Camp", "State", CampStateDefinition.New, "未激活"); CreateState("培训营状态", "Camp", "State", CampStateDefinition.Active, "已激活"); CreateState("演练状态", "CampGame", "State", CampPlayStateDefinition.New, "准备中"); CreateState("演练状态", "CampGame", "State", CampPlayStateDefinition.Run, "运行中"); CreateState("演练状态", "CampGame", "State", CampPlayStateDefinition.OverTime, "超时结束"); CreateState("演练状态", "CampGame", "State", CampPlayStateDefinition.End, "已结束"); CreateState("参演者类型", "Player", "Type", CampPlayerTypeDefinition.Creator, "创建者"); CreateState("参演者类型", "Player", "Type", CampPlayerTypeDefinition.Member, "参与成员"); CreateState("参演者状态", "Player", "State", CampPlayUserStateDefinition.New, "准备中"); CreateState("参演者状态", "Player", "State", CampPlayUserStateDefinition.Ready, "已准备"); CreateState("参演者状态", "Player", "State", CampPlayUserStateDefinition.Run, "运行中"); CreateState("参演者状态", "Player", "State", CampPlayUserStateDefinition.Exit, "已退出"); CreateState("参演者状态", "Player", "State", CampPlayUserStateDefinition.End, "已结束"); #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.Student, "来宾用户"); 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(); } } }