DefaultStatesCreator.cs 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. using System;
  2. using System.Linq;
  3. using WeOnlineApp.BaseInfo;
  4. using WeOnlineApp.Configuration;
  5. using WeOnlineApp.EF;
  6. namespace WeOnlineApp.SeedData
  7. {
  8. public class DefaultStatesCreator
  9. {
  10. private readonly WeOnlineAppDbContext _context;
  11. public DefaultStatesCreator(WeOnlineAppDbContext context)
  12. {
  13. _context = context;
  14. }
  15. public void Create()
  16. {
  17. _context.TruncateTable("[dbo].[Sys_States]");
  18. CreateState("培训营状态", "Camp", "State", CampStateDefinition.New, "未激活");
  19. CreateState("培训营状态", "Camp", "State", CampStateDefinition.Active, "已激活");
  20. CreateState("演练状态", "CampGame", "State", CampPlayStateDefinition.New, "准备中");
  21. CreateState("演练状态", "CampGame", "State", CampPlayStateDefinition.Run, "运行中");
  22. CreateState("演练状态", "CampGame", "State", CampPlayStateDefinition.OverTime, "超时结束");
  23. CreateState("演练状态", "CampGame", "State", CampPlayStateDefinition.End, "已结束");
  24. CreateState("参演者类型", "Player", "Type", CampPlayerTypeDefinition.Creator, "创建者");
  25. CreateState("参演者类型", "Player", "Type", CampPlayerTypeDefinition.Member, "参与成员");
  26. CreateState("参演者状态", "Player", "State", CampPlayUserStateDefinition.New, "准备中");
  27. CreateState("参演者状态", "Player", "State", CampPlayUserStateDefinition.Ready, "已准备");
  28. CreateState("参演者状态", "Player", "State", CampPlayUserStateDefinition.Run, "运行中");
  29. CreateState("参演者状态", "Player", "State", CampPlayUserStateDefinition.Exit, "已退出");
  30. CreateState("参演者状态", "Player", "State", CampPlayUserStateDefinition.End, "已结束");
  31. #region Default
  32. CreateState("激活状态", "Active", "Status", "false", "锁定");
  33. CreateState("激活状态", "Active", "Status", "true", "激活");
  34. //CreateState("性别", "Gender", "Type", "0", "未知");
  35. CreateState("性别", "Gender", "Type", GenderTypeDefinition.Man, "男");
  36. CreateState("性别", "Gender", "Type", GenderTypeDefinition.Women, "女");
  37. CreateState("用户角色类型", "UserRole", "UserRoleType", UsersAndRolesTypeDefinition.Supper, "超级管理员");
  38. CreateState("用户角色类型", "UserRole", "UserRoleType", UsersAndRolesTypeDefinition.System, "系统用户");
  39. //CreateState("用户角色类型", "UserRole", "UserRoleType", UsersAndRolesTypeDefinition.Advanced, "高级用户");
  40. CreateState("用户角色类型", "UserRole", "UserRoleType", UsersAndRolesTypeDefinition.Ordinary, "普通用户");
  41. CreateState("账号类型", "Account", "AccountType", AccountTypeDefinition.System, "系统用户");
  42. CreateState("账号类型", "Account", "AccountType", AccountTypeDefinition.Student, "来宾用户");
  43. CreateState("菜单类型", "Function", "FunctionType", FunctionTypeDefinition.Catalog, "目录");
  44. CreateState("菜单类型", "Function", "FunctionType", FunctionTypeDefinition.Menu, "菜单");
  45. CreateState("菜单类型", "Function", "FunctionType", FunctionTypeDefinition.Button, "按钮");
  46. CreateState("菜单类型", "Function", "FunctionType", FunctionTypeDefinition.NotShow, "不显示");
  47. #endregion
  48. CreateState("帮助类别", "SysHelp", "Classification", "0", "系统帮助");
  49. }
  50. private void CreateState(string name, string t, string c, string v, string d)
  51. {
  52. if (_context.SysStates.Any(s => s.TableName == t && s.ColumnName == c && s.CodeValue == v))
  53. {
  54. return;
  55. }
  56. _context.SysStates.Add(new SysState()
  57. {
  58. StateNo = Guid.NewGuid().ToString("N"),
  59. StateName = name,
  60. TableName = t,
  61. ColumnName = c,
  62. CodeValue = v,
  63. DisplayValue = d,
  64. });
  65. _context.SaveChanges();
  66. }
  67. private void CreateState(string name, string t, string c, int v, string d)
  68. {
  69. if (_context.SysStates.Any(s => s.TableName == t && s.ColumnName == c && s.CodeValue == v + ""))
  70. {
  71. return;
  72. }
  73. _context.SysStates.Add(new SysState()
  74. {
  75. StateNo = Guid.NewGuid().ToString("N"),
  76. StateName = name,
  77. TableName = t,
  78. ColumnName = c,
  79. CodeValue = v + "",
  80. DisplayValue = d,
  81. });
  82. _context.SaveChanges();
  83. }
  84. }
  85. }