PageUserManage.cs 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using BLL;
  11. using BLL.Dto;
  12. using Helper;
  13. using HZY.Framework.DependencyInjection;
  14. using Sunny.UI;
  15. namespace Scada.Page
  16. {
  17. public partial class PageUserManage : UIPage, ISingletonSelfDependency
  18. {
  19. private readonly UserManager _userManager;
  20. public PageUserManage(UserManager userManager)
  21. {
  22. InitializeComponent();
  23. _userManager = userManager;
  24. this.cb_Auth.Items.AddRange(Enum.GetNames(typeof(SystemEnums.UserRole)));
  25. this.cb_Auth.SelectedIndex = -1; // 默认不选择
  26. dgv_User.AutoGenerateColumns = false;
  27. this.Load += PageUserManage_Load;
  28. }
  29. private async void PageUserManage_Load(object sender, EventArgs e)
  30. {
  31. await LoadData();
  32. }
  33. private void PageUserManage_Initialize(object sender, EventArgs e)
  34. {
  35. }
  36. private bool VaildInput()
  37. {
  38. if (this.txt_UserName.Text.IsNullOrEmpty())
  39. {
  40. UIMessageTip.ShowWarning("用户名不能为空!");
  41. return false;
  42. }
  43. if (this.txt_Password.Text.IsNullOrEmpty())
  44. {
  45. UIMessageTip.ShowWarning("密码不能为空!");
  46. return false;
  47. }
  48. if (this.txt_EnterPassword.Text.IsNullOrEmpty())
  49. {
  50. UIMessageTip.ShowWarning("确认密码不能为空!");
  51. return false;
  52. }
  53. if (this.txt_Password.Text != this.txt_EnterPassword.Text)
  54. {
  55. UIMessageTip.ShowWarning("两次密码输入不一致!");
  56. return false;
  57. }
  58. if (this.cb_Auth.SelectedIndex == -1)
  59. {
  60. UIMessageTip.ShowWarning("请选择用户权限!");
  61. return false;
  62. }
  63. return true;
  64. }
  65. private async void btn_AddUser_Click(object sender, EventArgs e)
  66. {
  67. if (!VaildInput())
  68. {
  69. return;
  70. }
  71. UserAddDto userAddDto = new UserAddDto()
  72. {
  73. UserName = this.txt_UserName.Text.Trim(),
  74. UserPassword = this.txt_Password.Text.Trim(),
  75. Role = this.cb_Auth.SelectedItem.ToString() // 修复类型转换问题
  76. };
  77. var result = await _userManager.AddUserAsync(userAddDto);
  78. if (result.Result == SystemEnums.Result.Success)
  79. {
  80. UIMessageTip.ShowOk("添加成功");
  81. LogExtension.ShowMessage("添加用户成功", Microsoft.Extensions.Logging.LogLevel.Information);
  82. await LoadData();
  83. }
  84. else
  85. {
  86. UIMessageTip.ShowOk("添加失败");
  87. LogExtension.ShowMessage("添加用户失败", Microsoft.Extensions.Logging.LogLevel.Information);
  88. }
  89. }
  90. private async Task LoadData()
  91. {
  92. var res = await _userManager.GetUserListAsync();
  93. if (res.Result == SystemEnums.Result.Success)
  94. {
  95. this.dgv_User.DataSource = res.Data;
  96. this.dgv_User.Refresh();
  97. }
  98. }
  99. private void dgv_User_SelectIndexChange(object sender, int index)
  100. {
  101. var rows = this.dgv_User.Rows[index];
  102. this.txt_UserName.Text = rows.Cells["UserName"].Value.ToString();
  103. this.txt_Password.Text = rows.Cells["UserPassword"].Value.ToString();
  104. this.txt_EnterPassword.Text = rows.Cells["UserPassword"].Value.ToString(); // 确认密码与密码一致
  105. this.cb_Auth.SelectedItem = rows.Cells["Role"].Value.ToString(); // 修复类型转换问题
  106. }
  107. private async void btn_Update_Click(object sender, EventArgs e)
  108. {
  109. if (!VaildInput())
  110. {
  111. return;
  112. }
  113. UserUpdateDto userUpdateDto = new UserUpdateDto()
  114. {
  115. Id = int.Parse(this.dgv_User.CurrentRow.Cells["Id"].Value.ToString()),
  116. UserName = this.txt_UserName.Text.Trim(),
  117. UserPassword = this.txt_Password.Text.Trim(),
  118. Role = this.cb_Auth.SelectedItem.ToString() // 修复类型转换问题
  119. };
  120. var result = await _userManager.UpdateUserAsync(userUpdateDto);
  121. if (result.Result == SystemEnums.Result.Success)
  122. {
  123. UIMessageTip.ShowOk("更新成功");
  124. LogExtension.ShowMessage("更新用户成功", Microsoft.Extensions.Logging.LogLevel.Information);
  125. await LoadData();
  126. }
  127. else
  128. {
  129. UIMessageTip.ShowError("更新失败");
  130. LogExtension.ShowMessage("更新用户失败", Microsoft.Extensions.Logging.LogLevel.Information);
  131. }
  132. }
  133. private async void btn_Delete_Click(object sender, EventArgs e)
  134. {
  135. if(this.dgv_User.CurrentRow == null)
  136. {
  137. UIMessageTip.ShowWarning("请选择要删除的用户");
  138. return;
  139. }
  140. UserDeleteDto userDeleteDto = new UserDeleteDto()
  141. {
  142. Id = int.Parse(this.dgv_User.CurrentRow.Cells["Id"].Value.ToString())
  143. };
  144. var result = await _userManager.DeleteUserAsync(userDeleteDto);
  145. if(result.Result==SystemEnums.Result.Success)
  146. {
  147. UIMessageTip.ShowOk("删除成功");
  148. LogExtension.ShowMessage("删除用户成功", Microsoft.Extensions.Logging.LogLevel.Information);
  149. await LoadData();
  150. }
  151. else
  152. {
  153. UIMessageTip.ShowError("删除失败");
  154. LogExtension.ShowMessage("删除用户失败", Microsoft.Extensions.Logging.LogLevel.Information);
  155. }
  156. }
  157. }
  158. }