Menus.cs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Collections.ObjectModel;
  4. using System.ComponentModel;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using Venus_Core;
  9. namespace Venus_MainPages.Roles
  10. {
  11. public class Menu : INotifyPropertyChanged
  12. {
  13. public Menu(string firstmenu, string secondmenu)
  14. {
  15. FirstMenu = firstmenu;
  16. SecondMenu = secondmenu;
  17. }
  18. private string m_firstMenu;
  19. public string FirstMenu
  20. {
  21. get { return m_firstMenu; }
  22. set
  23. {
  24. m_firstMenu = value;
  25. OnPropertyChanged("FirstMenu");
  26. }
  27. }
  28. private string m_SecondMenu;
  29. public string SecondMenu
  30. {
  31. get { return m_SecondMenu; }
  32. set
  33. {
  34. m_SecondMenu = value;
  35. OnPropertyChanged("SecondMenu");
  36. }
  37. }
  38. private MenuPermission m_Permission;
  39. public MenuPermission Permission
  40. {
  41. get { return m_Permission; }
  42. set
  43. {
  44. m_Permission = value;
  45. OnPropertyChanged("Permission");
  46. }
  47. }
  48. #region INotifyPropertyChanged
  49. public event PropertyChangedEventHandler PropertyChanged;
  50. private void OnPropertyChanged(string propertyName)
  51. {
  52. PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
  53. }
  54. #endregion INotifyPropertyChanged
  55. }
  56. public enum MenuPermission
  57. {
  58. None,
  59. ReadOnly,
  60. ReadWrite
  61. }
  62. public enum Role
  63. {
  64. Manager,
  65. Engineer,
  66. Technician,
  67. Operator
  68. }
  69. public class RoleDefine
  70. {
  71. public string RoleName { get; set; }
  72. public bool IsLocked { get; set; }
  73. public int LockTime { get; set; }
  74. public ObservableCollection<Menu> Menus { get; set; }
  75. public RoleDefine(string roleName, ObservableCollection<Menu> menus)
  76. {
  77. RoleName = roleName;
  78. Menus = menus;
  79. }
  80. }
  81. public class User : INotifyPropertyChanged
  82. {
  83. public User(string name, string password, Role role)
  84. {
  85. Name = name;
  86. Password = password;
  87. Role = role;
  88. }
  89. private string m_Name;
  90. public string Name
  91. {
  92. get { return m_Name; }
  93. set
  94. {
  95. m_Name = value;
  96. OnPropertyChanged("Name");
  97. }
  98. }
  99. public string m_Password;
  100. public string Password
  101. {
  102. get { return m_Password; }
  103. set
  104. {
  105. m_Password = value;
  106. OnPropertyChanged("Password");
  107. }
  108. }
  109. public Role m_Role;
  110. public Role Role
  111. {
  112. get { return m_Role; }
  113. set
  114. {
  115. m_Role = value;
  116. OnPropertyChanged("Role");
  117. }
  118. }
  119. #region INotifyPropertyChanged
  120. public event PropertyChangedEventHandler PropertyChanged;
  121. private void OnPropertyChanged(string propertyName)
  122. {
  123. PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
  124. }
  125. #endregion INotifyPropertyChanged
  126. }
  127. }