PageAuthManage.cs 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  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.Dto;
  11. using BLL.Dto.AuthDto;
  12. using BLL.Manager;
  13. using Helper;
  14. using HZY.Framework.DependencyInjection;
  15. using Sunny.UI;
  16. namespace Scada.Page
  17. {
  18. public partial class PageAuthManage : UIPage, ISingletonSelfDependency
  19. {
  20. private readonly AuthManager _authManager;
  21. public PageAuthManage(AuthManager authManager)
  22. {
  23. InitializeComponent();
  24. _authManager = authManager;
  25. this.Load += PageAuthManage_Load;
  26. }
  27. private async void PageAuthManage_Load(object sender, EventArgs e)
  28. {
  29. await LoadAuthAynsc(SystemEnums.UserRole.工程师, cbg_Engineer);
  30. await LoadAuthAynsc(SystemEnums.UserRole.访客, cbg_Visitor);
  31. await LoadAuthAynsc(SystemEnums.UserRole.操作员, cbg_Operator);
  32. }
  33. protected override CreateParams CreateParams
  34. {
  35. get
  36. {
  37. CreateParams paras = base.CreateParams;
  38. paras.ExStyle |= 0x02000000;
  39. return paras;
  40. }
  41. }
  42. private async Task LoadAuthAynsc(SystemEnums.UserRole role, UICheckBoxGroup cbg)
  43. {
  44. var result = await _authManager.GetAuthAsync(new QueryAuthDto() { Role = role.ToString() });
  45. if (result.Result == SystemEnums.Result.Success)
  46. {
  47. var auths = result.Data[0];
  48. List<int> ints = new List<int>();
  49. if (auths.ControlModule)
  50. {
  51. ints.Add(0);
  52. }
  53. if (auths.MonitorModule)
  54. {
  55. ints.Add(1);
  56. }
  57. if (auths.RecipeModule)
  58. {
  59. ints.Add(2);
  60. }
  61. if (auths.LogModule)
  62. {
  63. ints.Add(3);
  64. }
  65. if (auths.ReportModule)
  66. {
  67. ints.Add(4);
  68. }
  69. if (auths.ChartModule)
  70. {
  71. ints.Add(5);
  72. }
  73. if (auths.ParamModule)
  74. {
  75. ints.Add(6);
  76. }
  77. cbg.SelectedIndexes = ints;
  78. }
  79. else
  80. {
  81. UIMessageBox.ShowError(result.Msg);
  82. }
  83. }
  84. private async void btn_UpdateEngAuth_Click(object sender, EventArgs e)
  85. {
  86. var result =await _authManager.GetAuthAsync(new QueryAuthDto() { Role = SystemEnums.UserRole.工程师.ToString() });
  87. var id = result.Data[0].Id;
  88. await UpdateAuthAsync(SystemEnums.UserRole.工程师,id, cbg_Engineer);
  89. }
  90. private async void btn_UpdateOpAuth_Click(object sender, EventArgs e)
  91. {
  92. var result = await _authManager.GetAuthAsync(new QueryAuthDto() { Role = SystemEnums.UserRole.操作员.ToString() });
  93. var id = result.Data[0].Id;
  94. await UpdateAuthAsync(SystemEnums.UserRole.操作员, id, cbg_Operator);
  95. }
  96. private async void btn_UpdateVisitorAuth_Click(object sender, EventArgs e)
  97. {
  98. var result = await _authManager.GetAuthAsync(new QueryAuthDto() { Role = SystemEnums.UserRole.访客.ToString() });
  99. var id = result.Data[0].Id;
  100. await UpdateAuthAsync(SystemEnums.UserRole.访客, id, cbg_Visitor);
  101. }
  102. private async Task UpdateAuthAsync(SystemEnums.UserRole role,int id, UICheckBoxGroup cbg)
  103. {
  104. var authList = new List<int>();
  105. for(int i =0;i<cbg.Items.Count;i++)
  106. {
  107. if(cbg.SelectedIndexes.Contains(i))
  108. {
  109. authList.Add(i);
  110. }
  111. }
  112. UpdateAuthDto updateAuthDto = new UpdateAuthDto()
  113. {
  114. Id = id,
  115. Role = role.ToString(),
  116. ControlModule = authList.Contains(0),
  117. MonitorModule = authList.Contains(1),
  118. RecipeModule = authList.Contains(2),
  119. LogModule = authList.Contains(3),
  120. ReportModule = authList.Contains(4),
  121. ChartModule = authList.Contains(5),
  122. ParamModule = authList.Contains(6)
  123. };
  124. var result = await _authManager.UpdateAuthAsync(updateAuthDto);
  125. if (result.Result == SystemEnums.Result.Success)
  126. {
  127. UIMessageTip.ShowOk("更新成功");
  128. }
  129. else
  130. {
  131. UIMessageTip.ShowError(result.Msg);
  132. }
  133. }
  134. }
  135. }