/// <summary> /// 根据传入的参数,显示可维护的一级权限 /// </summary> /// <param name="parm"></param> public void ShowClass1(string parm) { //清空节点 this.tvClass1.Nodes.Clear(); //取可维护的一级权限,显示在树型控件的根节点。 Neusoft.HISFC.BizLogic.Manager.PowerLevel1Manager class1Manager = new Neusoft.HISFC.BizLogic.Manager.PowerLevel1Manager(); ArrayList al = class1Manager.LoadLevel1Available(parm); if (al == null) { MessageBox.Show(Language.Msg(class1Manager.Err)); return; } this.tvClass1.ImageList = this.tvClass1.groupImageList; //添加一级权限节点 Neusoft.HISFC.Models.Admin.PowerLevelClass2 class2 = null; foreach (Neusoft.HISFC.Models.Admin.PowerLevelClass1 info in al) { TreeNode node = this.tvClass1.Nodes.Add(info.Name); node.Text = info.Class1Name; node.ImageIndex = 2; node.SelectedImageIndex = 4; //将一级权限的信息转换为二级权限实体,并保存在节点的Tag中 class2 = new Neusoft.HISFC.Models.Admin.PowerLevelClass2(); class2.Class1Code = info.Class1Code; node.Tag = class2; } }
/// <summary> /// 显示二级权限 /// </summary> public void ShowClass2() { //清屏 this.Clear(); //取二级权限 ArrayList al = this.class2Manager.LoadLevel2All(this.operClass2Priv.Class1Code); if (al == null) { MessageBox.Show(Language.Msg(class2Manager.Err)); return; } //将二级权限显示在列表中 this.fpClass2_Sheet1.RowCount = al.Count; for (int i = 0; i < al.Count; i++) { Neusoft.HISFC.Models.Admin.PowerLevelClass2 info = al[i] as Neusoft.HISFC.Models.Admin.PowerLevelClass2; this.fpClass2_Sheet1.Cells[i, 0].Text = info.Class2Code; //二级权限编码 this.fpClass2_Sheet1.Cells[i, 1].Text = info.Class2Name; //二级权限名称 this.fpClass2_Sheet1.Cells[i, 2].Text = info.Flag; //特殊标记 this.fpClass2_Sheet1.Cells[i, 3].Text = info.Memo; //备注 this.fpClass2_Sheet1.Cells[i, 4].Text = info.Class1Code; //一级权限编码 this.fpClass2_Sheet1.Rows[i].Tag = info; } if (al.Count > 0) { this.fpClass2_Sheet1.ActiveColumnIndex = 0; //取当前二级权限 this.GetClass2(); } }
/// <summary> /// 取当前的二级权限 /// </summary> public void GetClass2() { //取当前操作的行中的数据 Neusoft.HISFC.Models.Admin.PowerLevelClass2 temp = this.fpClass2_Sheet1.ActiveRow.Tag as Neusoft.HISFC.Models.Admin.PowerLevelClass2; if (temp == null) { this.operClass2Priv.Class2Code = ""; } else { this.operClass2Priv = temp; } //显示系统权限 this.ShowClass3Meaning(); //显示三级权限 this.ShowClass3(); }
private void tvClass1_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e) { this.operClass2Priv = e.Node.Tag as Neusoft.HISFC.Models.Admin.PowerLevelClass2; this.ShowClass2(); }
/// <summary> /// 保存二级权限 /// </summary> public void SaveClass2() { int parm; bool isUpdate = false; Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); //Neusoft.FrameWork.Management.Transaction t = new Neusoft.FrameWork.Management.Transaction(Neusoft.FrameWork.Management.Connection.Instance); //t.BeginTransaction(); try { //二级 this.class2Manager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); //先删除数据 parm = this.class2Manager.DeleteLevel2(this.operClass2Priv.Class1Code); if (parm == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack();; MessageBox.Show(Language.Msg("保存二级权限时删除操作发生错误 " + class2Manager.Err), "错误提示"); return; } //如果处理到有效的数据则更新标志 if (parm > 0) { isUpdate = true; } Neusoft.HISFC.Models.Admin.PowerLevelClass2 info; //插入数据 for (int i = 0; i < this.fpClass2_Sheet1.Rows.Count; i++) { info = new Neusoft.HISFC.Models.Admin.PowerLevelClass2(); info.Class2Code = this.fpClass2_Sheet1.Cells[i, 0].Text; //二级权限编码 info.Class2Name = this.fpClass2_Sheet1.Cells[i, 1].Text; //二级权限名称 if (info.Class2Code == "" || info.Class2Name == "") { Neusoft.FrameWork.Management.PublicTrans.RollBack();; MessageBox.Show(Language.Msg("二级权限编码和名称不能为空"), "提示"); return; } info.Class1Code = this.operClass2Priv.Class1Code; //一级权限编码 info.Flag = this.fpClass2_Sheet1.Cells[i, 2].Text; //特殊标记 info.Memo = this.fpClass2_Sheet1.Cells[i, 3].Text; //备注 this.fpClass2_Sheet1.Rows[i].Tag = info; //在当前行中保存二级权限信息 parm = class2Manager.InsertLevel2(info); if (parm != 1) { Neusoft.FrameWork.Management.PublicTrans.RollBack();; if (this.class2Manager.DBErrCode == 1) { MessageBox.Show(Language.Msg("编码为【" + info.Class2Code + "】的二级权限已经存在,不能重复添加.")); } else { MessageBox.Show(Language.Msg(this.class3Manager.Err), "错误提示"); } return; } } //如果处理到有效的数据则更新标志 if (this.fpClass2_Sheet1.Rows.Count > 0) { isUpdate = true; } if (isUpdate) { Neusoft.FrameWork.Management.PublicTrans.Commit();; MessageBox.Show(Language.Msg("保存成功"), "提示"); } else { Neusoft.FrameWork.Management.PublicTrans.RollBack();; } } catch (Exception ex) { Neusoft.FrameWork.Management.PublicTrans.RollBack();; MessageBox.Show(ex.Message, "错误提示"); } }