MainViewModel.cs 2.9 KB

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