RolesFuncUsers.aspx.cs
上传用户:autodoor
上传日期:2022-08-04
资源大小:9973k
文件大小:11k
源码类别:

.net编程

开发平台:

Others

  1. using System;
  2. using System.Collections;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Web;
  7. using System.Web.SessionState;
  8. using System.Web.UI;
  9. using System.Web.UI.WebControls;
  10. using System.Web.UI.HtmlControls;
  11. using System.Data.SqlClient;
  12. using System.Windows.Forms;
  13. //引用数据库访问层。
  14. using qminoa.DA;
  15. using qminoa.Common;
  16. namespace qminoa.Webs.sysSecurity
  17. {
  18. public class RolesFuncUsers  : qminoa.Webs.PageBase
  19. {
  20. protected System.Web.UI.WebControls.TextBox txbRoleName;
  21. protected System.Web.UI.WebControls.DropDownList RoleFuncDrop;
  22. protected System.Web.UI.WebControls.DataList RoleFuncList;
  23. protected System.Web.UI.WebControls.DropDownList RoleUnitDrop;
  24. protected System.Web.UI.WebControls.DropDownList RoleBranchDrop;
  25. protected System.Web.UI.WebControls.ListBox RoleUserListbox;
  26. protected System.Web.UI.WebControls.DataList RoleUserList;
  27. protected System.Web.UI.WebControls.LinkButton AddRoleBtn;
  28. protected System.Web.UI.WebControls.LinkButton AddAllRoleBtn;
  29. protected System.Web.UI.WebControls.LinkButton UpdateRole;
  30. protected System.Web.UI.WebControls.LinkButton AddFunc;
  31. protected System.Web.UI.WebControls.LinkButton FuncRightOK;
  32. protected System.Web.UI.WebControls.LinkButton LinkOK;
  33. protected System.Web.UI.WebControls.LinkButton linkCanncel;
  34.         public int RoleID;
  35. protected System.Web.UI.WebControls.TextBox txbRoleDes;
  36.     
  37. private void Page_Load(object sender, System.EventArgs e)
  38. {
  39. this.PageBegin("模块管理",true);
  40. RoleID=Int32.Parse(Request.QueryString["roleid"]);
  41. if (Page.IsPostBack == false) 
  42. {  
  43. AdminDB admin = new AdminDB();
  44. SqlDataReader dr=admin.GetRoleInfo(RoleID) ;
  45. dr.Read();
  46. txbRoleName.Text=dr["RoleName"].ToString();
  47. txbRoleDes.Text=dr["Description"].ToString();
  48. BindFuncData();
  49. BindUserData();
  50. }
  51. else 
  52. ReSetCheckListInfo();
  53. }
  54. private void BindFuncData() 
  55. {
  56. AdminDB admin = new AdminDB();
  57.     RoleFuncList.DataSource=admin.GetRoleFunc(RoleID);
  58. RoleFuncList.DataBind();
  59. SetCheckListInfo();
  60. RoleFuncDrop.DataSource=admin.GetAllFuncs();
  61. RoleFuncDrop.DataBind(); 
  62. }
  63. private void BindUserData() 
  64. {
  65. AdminDB admin = new AdminDB();
  66. RoleUnitDrop.DataSource=admin.GetAllBranch();
  67. RoleUnitDrop.DataBind();
  68. RoleUnitDrop.SelectedIndex=0;
  69. RoleBranchDrop.DataSource=admin.GetDepByBranch(Int32.Parse(RoleUnitDrop.SelectedItem.Value));
  70. RoleBranchDrop.DataBind();
  71. RoleBranchDrop.SelectedIndex=0;
  72. RoleUserListbox.DataSource=admin.GetEmpInfo(Int32.Parse(RoleBranchDrop.SelectedItem.Value),"dep");
  73. RoleUserListbox.DataBind(); 
  74. RoleUserList.DataSource=admin.GetRoleUser(RoleID);
  75. RoleUserList.DataBind();
  76. }
  77. public void SetCheckListInfo()
  78. {
  79. for (int FuncNum=0; FuncNum<RoleFuncList.Items.Count;FuncNum++)
  80. {
  81. int lastindex=Int32.Parse(((System.Web.UI.WebControls.Label)RoleFuncList.Items[FuncNum].FindControl("LastSelectIndex")).Text);
  82. for(int i=0;i<((CheckBoxList)RoleFuncList.Items[FuncNum].FindControl("FcheckRightSet")).Items.Count;i++)
  83. if(i<=lastindex)
  84. ((CheckBoxList)RoleFuncList.Items[FuncNum].FindControl("FcheckRightSet")).Items[i].Selected=true;
  85. else    
  86. ((CheckBoxList)RoleFuncList.Items[FuncNum].FindControl("FcheckRightSet")).Items[i].Selected=false;
  87. }
  88. }
  89. public void ReSetCheckListInfo()
  90. {
  91. for (int FuncNum=0; FuncNum<RoleFuncList.Items.Count;FuncNum++)
  92. {
  93. int lastindex=Int32.Parse(((System.Web.UI.WebControls.Label)RoleFuncList.Items[FuncNum].FindControl("LastSelectIndex")).Text);
  94. int newindex=GetCheckListInfo(FuncNum,lastindex);
  95. ((System.Web.UI.WebControls.Label)RoleFuncList.Items[FuncNum].FindControl("LastSelectIndex")).Text=newindex.ToString();
  96. for(int i=0;i<((CheckBoxList)RoleFuncList.Items[FuncNum].FindControl("FcheckRightSet")).Items.Count;i++)
  97. if(i<=newindex)
  98. ((CheckBoxList)RoleFuncList.Items[FuncNum].FindControl("FcheckRightSet")).Items[i].Selected=true;
  99. else    
  100. ((CheckBoxList)RoleFuncList.Items[FuncNum].FindControl("FcheckRightSet")).Items[i].Selected=false;
  101. }
  102. }
  103. public int GetCheckListInfo(int index,int LastSelectIndex)
  104. {   
  105. int NewSelectIndex=-2;  
  106. for(int ChBox=0;ChBox<((CheckBoxList)RoleFuncList.Items[index].FindControl("FcheckRightSet")).Items.Count;ChBox++)
  107. if( ((CheckBoxList)RoleFuncList.Items[index].FindControl("FcheckRightSet")).Items[ChBox].Selected==true&&ChBox> LastSelectIndex)
  108. NewSelectIndex=ChBox;
  109. else if( ((CheckBoxList)RoleFuncList.Items[index].FindControl("FcheckRightSet")).Items[ChBox].Selected==false&&ChBox<=LastSelectIndex)
  110. NewSelectIndex=ChBox-1; 
  111. if (NewSelectIndex==-2)
  112. NewSelectIndex=LastSelectIndex;
  113. return   NewSelectIndex;
  114. }
  115.         public void SaveTheRoleFuncRightInfo()
  116.         {
  117.         for(int i=0;i<RoleFuncList.Items.Count;i++)
  118.             {
  119.         AdminDB admin = new AdminDB();
  120.         int funcid=(int)RoleFuncList.DataKeys[i];
  121.         int lastindex=Int32.Parse(((System.Web.UI.WebControls.Label)RoleFuncList.Items[i].FindControl("LastSelectIndex")).Text);
  122.         admin.UpdateFuncRoleRight(funcid,RoleID,lastindex);
  123.           }
  124.    }
  125. #region Web Form Designer generated code
  126. override protected void OnInit(EventArgs e)
  127. {
  128. // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
  129. InitializeComponent();
  130. base.OnInit(e);
  131. }
  132. /// <summary>
  133. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  134. /// 此方法的内容。
  135. /// </summary>
  136. private void InitializeComponent()
  137. {
  138. this.UpdateRole.Click += new System.EventHandler(this.UpdateRole_Click);
  139. this.AddFunc.Click += new System.EventHandler(this.AddFunc_Click);
  140. this.RoleFuncList.ItemCommand += new System.Web.UI.WebControls.DataListCommandEventHandler(this.RoleFuncList_ItemCommand);
  141. this.FuncRightOK.Click += new System.EventHandler(this.FuncRightOK_Click);
  142. this.RoleUnitDrop.SelectedIndexChanged += new System.EventHandler(this.RoleUnitDrop_SelectedIndexChanged);
  143. this.RoleBranchDrop.SelectedIndexChanged += new System.EventHandler(this.RoleBranchDrop_SelectedIndexChanged);
  144. this.AddRoleBtn.Click += new System.EventHandler(this.AddRoleBtn_Click);
  145. this.AddAllRoleBtn.Click += new System.EventHandler(this.AddAllRoleBtn_Click);
  146. this.RoleUserList.ItemCommand += new System.Web.UI.WebControls.DataListCommandEventHandler(this.RoleUserList_ItemCommand);
  147. this.LinkOK.Click += new System.EventHandler(this.LinkOK_Click);
  148. this.linkCanncel.Click += new System.EventHandler(this.linkCanncel_Click);
  149. this.Load += new System.EventHandler(this.Page_Load);
  150. }
  151. #endregion
  152. private void AddFunc_Click(object sender, System.EventArgs e)
  153. {
  154. if(this.CheckAuth("用户管理") >= 3)
  155. {
  156. AdminDB admin = new AdminDB();
  157. admin.AddFuncRole(Int32.Parse(RoleFuncDrop.SelectedItem.Value),RoleID);
  158. BindFuncData();
  159. }
  160. else
  161. {
  162. JScript.Alert("您没有权限进行此操作!");
  163. }
  164. }
  165. private void AddRoleBtn_Click(object sender, System.EventArgs e)
  166. {   
  167. if(this.CheckAuth("用户管理") >= 3)
  168. {
  169. if(RoleUserListbox.SelectedIndex<0)
  170. JScript.Alert("请选择一个用户!");
  171. else 
  172. {
  173. AdminDB admin = new AdminDB();
  174. admin.AddUserRole(Int32.Parse(RoleUserListbox.SelectedItem.Value),RoleID);
  175. BindUserData();
  176. }
  177. }
  178. else
  179. {
  180. JScript.Alert("您没有权限进行此操作!");
  181. }
  182. }
  183. private void AddAllRoleBtn_Click(object sender, System.EventArgs e)
  184. {
  185. if(this.CheckAuth("用户管理") >= 3)
  186. {
  187. for(int i=0;i<RoleUserListbox.Items.Count;i++)
  188. {  
  189. AdminDB admin = new AdminDB();
  190. admin.AddUserRole(Int32.Parse(RoleUserListbox.Items[i].Value),RoleID);
  191. }
  192. BindUserData();
  193. }
  194. else
  195. {
  196. JScript.Alert("您没有权限进行此操作!");
  197. }
  198. }
  199. private void RoleUnitDrop_SelectedIndexChanged(object sender, System.EventArgs e)
  200. {
  201. AdminDB admin = new AdminDB();
  202. RoleBranchDrop.DataSource=admin.GetDepByBranch(Int32.Parse(RoleUnitDrop.SelectedItem.Value));
  203. RoleBranchDrop.DataBind();
  204. RoleUserListbox.DataSource=admin.GetEmpInfo(Int32.Parse(RoleBranchDrop.SelectedItem.Value),"dep");
  205. RoleUserListbox.DataBind();   
  206. }
  207. private void RoleBranchDrop_SelectedIndexChanged(object sender, System.EventArgs e)
  208. {
  209. AdminDB admin = new AdminDB();
  210. RoleUserListbox.DataSource=admin.GetEmpInfo(Int32.Parse(RoleBranchDrop.SelectedItem.Value),"dep");
  211. RoleUserListbox.DataBind();   
  212. }
  213. private void RoleUserList_ItemCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
  214. {
  215. AdminDB admin = new AdminDB();
  216. int UserID = (int) RoleUserList.DataKeys[e.Item.ItemIndex];
  217. if (e.CommandName == "edit") 
  218. {
  219. if(this.CheckAuth("用户管理") >= 3)
  220. {
  221. Response.Redirect("UserRoles.aspx?userid=" +UserID,false);
  222. }
  223. else
  224. {
  225. JScript.Alert("您没有权限进行此操作!");
  226. }
  227. }
  228. else if (e.CommandName == "delete") 
  229. {   
  230. if(this.EmpRightCode == 4)
  231. {
  232. if(admin.DeleteRoleUser(UserID,RoleID))
  233. {
  234. JScript.Alert("删除成功!");
  235. BindUserData();
  236. }
  237. else
  238. JScript.Alert("删除失败!");
  239. }
  240. else
  241. JScript.Alert("您没有权限进行此操作!");
  242. }
  243. private void RoleFuncList_ItemCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
  244. {
  245. AdminDB admin = new AdminDB();
  246. int FuncID = (int) RoleFuncList.DataKeys[e.Item.ItemIndex];
  247. if (e.CommandName == "edit") 
  248. {
  249. if(this.CheckAuth("模块管理") >= 3)
  250. Response.Redirect("FuncRightSet.aspx?funcid=" +FuncID,false);
  251. else
  252. JScript.Alert("您没有权限进行此操作!");
  253. }
  254. else if (e.CommandName == "delete") 
  255. {  
  256. if(this.EmpRightCode == 4)
  257. {
  258. if(admin.DeleteFuncRole(FuncID,RoleID))
  259. {
  260. JScript.Alert("删除成功!");
  261. BindFuncData();
  262. }
  263. else
  264. JScript.Alert("删除失败!");
  265. }
  266. }
  267. }
  268. private void FuncRightOK_Click(object sender, System.EventArgs e)
  269. {
  270. if(this.EmpRightCode >= 3)
  271. SaveTheRoleFuncRightInfo();
  272. else
  273. JScript.Alert("您没有权限进行此操作!");
  274. }
  275. private void LinkOK_Click(object sender, System.EventArgs e)
  276. {
  277. if(this.EmpRightCode >= 3)
  278. {
  279. SaveTheRoleFuncRightInfo();
  280. Response.Redirect("roleadmin.aspx",false);
  281. }
  282. else
  283. {
  284. JScript.Alert("您没有权限进行此操作!");
  285. }
  286. }
  287. private void UpdateRole_Click(object sender, System.EventArgs e)
  288. {
  289. if(this.EmpRightCode >= 3)
  290. {
  291. AdminDB admin = new AdminDB();
  292. if(admin.UpdateRoleInfo(RoleID,txbRoleName.Text,txbRoleDes.Text))
  293. {
  294. JScript.Alert("保存角角信息成功!");
  295. }
  296. else
  297. {
  298. JScript.Alert("保存角角信息失败!");
  299. }
  300. }
  301. else
  302. {
  303. JScript.Alert("您没有权限进行此操作!");
  304. }
  305. }
  306. private void linkCanncel_Click(object sender, System.EventArgs e)
  307. {
  308.       Response.Redirect("roleadmin.aspx",false);
  309. }
  310. }
  311. }