/// <summary> /// /// </summary> /// <returns></returns> public static Entity.RoleMenu GetRoleMenu(string RoleID) { Entity.RoleMenu roleMenu = new Entity.RoleMenu(); DBOperatorBase db = new DataBase(); IDBTypeElementFactory dbFactory = db.GetDBTypeElementFactory(); try { IDbDataParameter[] prams = { }; IDataReader dataReader = db.ExecuteReader(Config.con, CommandType.Text, "Select * from vRoleMenu where RoleID='" + RoleID + "'", null); while (dataReader.Read()) { roleMenu.role.RoleName = dataReader["RoleName"].ToString(); roleMenu.role.Description = dataReader["Description"].ToString(); //roleMenu.role.IsAudit = bool.Parse(dataReader["IsAudit"].ToString()); Entity.Menu entity = new Entity.Menu(); //entity.RoleID = DataHelper.ParseToInt(dataReader["RoleID"].ToString()); entity.ID = DataHelper.ParseToInt(dataReader["MenuID"].ToString()); entity.MenuName = dataReader["MenuName"].ToString(); entity.MenuUrl = dataReader["MenuUrl"].ToString(); roleMenu.menuList.Add(entity); } } catch (Exception ex) { } finally { db.Conn.Close(); } return(roleMenu); }
/// <summary> /// /// </summary> /// <returns></returns> public static List <Entity.RoleMenu> GetAllRoleMenu() { List <Entity.RoleMenu> list = new List <Entity.RoleMenu>(); DBOperatorBase db = new DataBase(); IDBTypeElementFactory dbFactory = db.GetDBTypeElementFactory(); try { IDbDataParameter[] prams = { }; IDataReader dataReader = db.ExecuteReader(Config.con, CommandType.StoredProcedure, "proc_RoleMenu_GetAll", prams); while (dataReader.Read()) { Entity.RoleMenu entity = new Entity.RoleMenu(); //entity.RoleID = DataHelper.ParseToInt(dataReader["RoleID"].ToString()); //entity.MenuID = DataHelper.ParseToInt(dataReader["MenuID"].ToString()); list.Add(entity); } } catch (Exception ex) { } finally { db.Conn.Close(); } return(list); }
/// <summary> /// /// </summary> /// <param name="RoleID"> </param> /// <param name="MenuID"> </param> /// <returns></returns> public static int AddRoleMenu(Entity.RoleMenu roleMenu) { int iReturn = 0; int i = 0; DBOperatorBase db = new DataBase(); IDBTypeElementFactory dbFactory = db.GetDBTypeElementFactory(); SqlTransactionHelper thelper = new SqlTransactionHelper(Config.con); IDbTransaction trans = thelper.StartTransaction(); try { IDbDataParameter[] prams = { dbFactory.MakeInParam("@RoleName", DBTypeConverter.ConvertCsTypeToOriginDBType(roleMenu.role.RoleName.GetType().ToString()), roleMenu.role.RoleName, 20), dbFactory.MakeInParam("@Description", DBTypeConverter.ConvertCsTypeToOriginDBType(roleMenu.role.Description.GetType().ToString()), roleMenu.role.Description, 0), //dbFactory.MakeInParam("@IsAudit", DBTypeConverter.ConvertCsTypeToOriginDBType(roleMenu.role.IsAudit.GetType().ToString()),roleMenu.role.IsAudit,4), dbFactory.MakeOutReturnParam() }; iReturn = db.ExecuteNonQueryTrans(trans, CommandType.StoredProcedure, "proc_Role_Add", prams); i = int.Parse(prams[2].Value.ToString()); if (i > 0) { roleMenu.role.ID = i; } if (i == 0) { return(0); } for (int s = 0; s < roleMenu.menuList.Count; s++) { iReturn = db.ExecuteNonQueryTrans(trans, CommandType.Text, "Insert into [RoleMenu]([RoleID],[MenuID]) values ('" + roleMenu.role.ID + "','" + roleMenu.menuList[s].ID + "')", null); } thelper.CommitTransaction(trans); iReturn = 1; } catch (Exception ex) { thelper.RollTransaction(trans); iReturn = 0; } finally { db.Conn.Close(); } return(iReturn); }
private void LoadData(string sId) { if (!string.IsNullOrEmpty(sId)) { StringBuilder sb = new StringBuilder(); Entity.RoleMenu rolemenu = DAL.RoleMenu.GetRoleMenu(sId); txt_RoleName.Text = rolemenu.role.RoleName; txt_Description.Text = rolemenu.role.Description; foreach (Entity.Menu menu in rolemenu.menuList) { int menuID = menu.ID; FineUI.TreeNode tn = Tree2.FindNode(menuID.ToString()); tn.Checked = true; sb.Append(menuID.ToString() + ","); } old = sb.ToString().Substring(0, sb.Length - 1); } }
/// <summary> /// /// </summary> /// <param name="RoleID"> </param> /// <param name="MenuID"> </param> /// <returns></returns> public static int UpdateRoleMenu(Entity.RoleMenu roleMenu) { int iReturn = 0; int i = 0; DBOperatorBase db = new DataBase(); IDBTypeElementFactory dbFactory = db.GetDBTypeElementFactory(); SqlTransactionHelper thelper = new SqlTransactionHelper(Config.con); IDbTransaction trans = thelper.StartTransaction(); try { //iReturn = db.ExecuteNonQueryTrans(trans, CommandType.Text, "Update [Role] set RoleName='" + roleMenu.role.RoleName + "',Description='" + roleMenu.role.Description + "',IsAudit='" + roleMenu.role.IsAudit + "'where ID='" + roleMenu.role.ID + "'", null); for (int s = 0; s < roleMenu.NewAdd.Count; s++) { iReturn = db.ExecuteNonQueryTrans(trans, CommandType.Text, "Insert into [RoleMenu]([RoleID],[MenuID]) values ('" + roleMenu.role.ID + "','" + roleMenu.NewAdd[s].ToString() + "')", null); } for (int t = 0; t < roleMenu.Delete.Count; t++) { iReturn = db.ExecuteNonQueryTrans(trans, CommandType.Text, "Delete from [RoleMenu] where RoleID='" + roleMenu.role.ID + "' and MenuID='" + roleMenu.Delete[t].ToString() + "'", null); } thelper.CommitTransaction(trans); iReturn = 1; } catch (Exception ex) { thelper.RollTransaction(trans); iReturn = 0; } finally { db.Conn.Close(); } return(iReturn); }
protected void btn_save_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(sGuid)) { //Add Entity.RoleMenu roleMenu = new Entity.RoleMenu(); roleMenu.role.RoleName = txt_RoleName.Text; roleMenu.role.Description = txt_Description.Text; string[] checkmenus = Tree2.GetCheckedNodeIDs(); foreach (string checkID in checkmenus) { Entity.Menu menu = new Entity.Menu(); menu.ID = int.Parse(checkID.ToString()); roleMenu.menuList.Add(menu); } int success = DAL.RoleMenu.AddRoleMenu(roleMenu); if (success == 1) { Alert.ShowInTop(" 保存成功!", MessageBoxIcon.Information); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } else { Alert.ShowInTop("保存失败!", MessageBoxIcon.Warning); } } else { //Update Entity.RoleMenu roleMenu = new Entity.RoleMenu(); roleMenu.role.ID = int.Parse(sGuid); roleMenu.role.RoleName = txt_RoleName.Text; roleMenu.role.Description = txt_Description.Text; string[] checkmenus = Tree2.GetCheckedNodeIDs(); int[] check = new int[checkmenus.Length]; for (int i = 0; i < checkmenus.Length; i++) { check[i] = int.Parse(checkmenus[i]); } StringBuilder sb = new StringBuilder(); Entity.RoleMenu rolemenu = DAL.RoleMenu.GetRoleMenu(sGuid); txt_RoleName.Text = rolemenu.role.RoleName; txt_Description.Text = rolemenu.role.Description; foreach (Entity.Menu menu in rolemenu.menuList) { int menuID = menu.ID; FineUI.TreeNode tn = Tree2.FindNode(menuID.ToString()); tn.Checked = true; sb.Append(menuID.ToString() + ","); } old = sb.ToString().Substring(0, sb.Length - 1); string[] oldIds = old.Split(','); int[] oldid = new int[oldIds.Length]; for (int s = 0; s < oldIds.Length; s++) { oldid[s] = int.Parse(oldIds[s]); } List <int> Checked = new List <int>(); for (int i = 0; i < checkmenus.Length; i++) { Checked.Add(int.Parse(checkmenus[i])); } List <int> OldID = new List <int>(); for (int i = 0; i < oldIds.Length; i++) { OldID.Add(int.Parse(oldIds[i])); } List <int> Delete = ListHelper.ExceptList(OldID, Checked); List <int> Add = ListHelper.ExceptList(Checked, OldID); foreach (int a in Delete) { roleMenu.Delete.Add(a.ToString()); } foreach (int b in Add) { roleMenu.NewAdd.Add(b.ToString()); } //var c = oldid.Intersect(check); //var d = oldid.Except(check); //var f = check.Except(oldid); //foreach (var q in d) //{ // roleMenu.Delete.Add(q.ToString()); //} //foreach (var w in f) //{ // roleMenu.NewAdd.Add(w.ToString()); //} int success = DAL.RoleMenu.UpdateRoleMenu(roleMenu); if (success == 1) { Alert.ShowInTop(" 修改成功!", MessageBoxIcon.Information); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } else { Alert.ShowInTop("修改失败!", MessageBoxIcon.Warning); } } }