PageUserManage.cs 6.3 KB

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