MainViewModel.cs 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. // 演示类
  2. using MvvmScaffoldFrame48.DLL;
  3. using MvvmScaffoldFrame48.DLL.AuditTrail;
  4. using MvvmScaffoldFrame48.DLL.WindowsTools;
  5. using MvvmScaffoldFrame48.Model;
  6. using MvvmScaffoldFrame48.Model.AuditTrail;
  7. using System;
  8. using System.Collections.ObjectModel;
  9. using System.Windows.Input;
  10. namespace MvvmScaffoldFrame48.ViewModel.ViewModel
  11. {
  12. public class MainViewModel : BaseViewModel
  13. {
  14. #region 界面绑定属性
  15. public ObservableCollection<UserModel> Users { get; set; }
  16. private string _name;
  17. public string Name
  18. {
  19. get { return _name; }
  20. set
  21. {
  22. if (_name != value)
  23. {
  24. _name = value;
  25. OnPropertyChanged(nameof(Name));
  26. }
  27. }
  28. }
  29. private string _email;
  30. public string Email
  31. {
  32. get { return _email; }
  33. set
  34. {
  35. if (_email != value)
  36. {
  37. _email = value;
  38. OnPropertyChanged(nameof(Email));
  39. }
  40. }
  41. }
  42. private bool _staticTest = true;
  43. public bool StaticTest
  44. {
  45. get { return _staticTest; }
  46. set
  47. {
  48. if (_staticTest != value)
  49. {
  50. _staticTest = value;
  51. OnPropertyChanged(nameof(StaticTest));
  52. }
  53. }
  54. }
  55. #endregion
  56. #region 界面绑定事件
  57. public ICommand AddUserCommand { get; set; }
  58. public ICommand TestCommand { get; set; }
  59. #endregion
  60. #region 属性
  61. #endregion
  62. #region 绑定用Action方法
  63. private void AddUser(object obj)
  64. {
  65. UserModel user = new UserModel();
  66. user.Name = Name;
  67. user.Email = Email;
  68. UserManager.AddUser(user);
  69. OnScreenKeyboardTools.KeyBoardShow();
  70. OperationRecordManagement operationRecordManagement = new OperationRecordManagement();
  71. operationRecordManagement.InsertOperationRecord(new OperationRecordModel()
  72. {
  73. Category = "用户管理",
  74. OldMessage = "",
  75. NewMessage = "添加用户:" + user.Name,
  76. DateTime = DateTime.Now,
  77. userID = 1,
  78. IsDeleted = false
  79. });
  80. var OperationRecord = operationRecordManagement.GetAllOperationRecord();
  81. foreach (var item in OperationRecord)
  82. {
  83. Console.WriteLine($"{item.Category}:{item.OldMessage}=>{item.NewMessage},Time:{item.DateTime.ToString("g")}");
  84. }
  85. }
  86. private void Test(object obj)
  87. {
  88. Name = "小1";
  89. Email = "111@qq.com";
  90. StaticTest = !StaticTest;
  91. }
  92. #endregion
  93. #region 绑定用Predicate方法
  94. private bool CanAddUser(object obj)
  95. {
  96. return true;
  97. }
  98. private bool CanTest(object obj)
  99. {
  100. return true;
  101. }
  102. #endregion
  103. #region 其他方法
  104. public MainViewModel()
  105. {
  106. Users = UserManager.GetUsers();
  107. AddUserCommand = new RelayCommand(AddUser, CanAddUser);
  108. TestCommand = new RelayCommand(Test, CanTest);
  109. }
  110. #endregion
  111. }
  112. }