/// <summary> /// 从代码分类脱离。 /// </summary> public void BreakAwayFromSysCodeType() { SysCodeType s = this.SysCodeType; this.SysCodeType = null; s.SysCodes.Remove(this); }
public SysCode() { _id = String.Empty; _tag = String.Empty; _name = String.Empty; _remark = String.Empty; _order_id = 0; _syscode_type = null; }
private void AddSubNodes(Microsoft.Web.UI.WebControls.TreeNode currentNode, ModuleType currentModuleType, Role role, SysCodeType sct) { //增加子模块分类 foreach (ModuleType mt in currentModuleType.SubModuleTypes) { Microsoft.Web.UI.WebControls.TreeNode node = new Microsoft.Web.UI.WebControls.TreeNode(); currentNode.Nodes.Add(node); node.Type = "moduletype"; node.Text = mt.Name; AddSubNodes(node, mt, role, sct); node.Expanded = true; } //增加模块 foreach (Module m in currentModuleType.Modules) { Microsoft.Web.UI.WebControls.TreeNode node = new Microsoft.Web.UI.WebControls.TreeNode(); currentNode.Nodes.Add(node); node.Type = "module"; node.Text = m.Name; //增加肯定权限。 foreach (SysCode sc in sct.SysCodes) { if (m.ModuleRights.Contains(sc.Tag)) { ModuleRight mr = m.ModuleRights[sc.Tag] as ModuleRight; Microsoft.Web.UI.WebControls.TreeNode rightsNode = new Microsoft.Web.UI.WebControls.TreeNode(); node.Nodes.Add(rightsNode); rightsNode.Type = "grant"; rightsNode.Text = sc.Name; rightsNode.PKId = mr.Id; rightsNode.CheckBox = true; rightsNode.Checked = role.ModuleRightsGrant.Contains(mr); } } //增加否定权限。 foreach (SysCode sc in sct.SysCodes) { if (m.ModuleRights.Contains(sc.Tag)) { ModuleRight mr = m.ModuleRights[sc.Tag] as ModuleRight; Microsoft.Web.UI.WebControls.TreeNode rightsNode = new Microsoft.Web.UI.WebControls.TreeNode(); node.Nodes.Add(rightsNode); rightsNode.Type = "deny"; rightsNode.Text = sc.Name; rightsNode.PKId = mr.Id; rightsNode.CheckBox = true; rightsNode.Checked = role.ModuleRightsDeny.Contains(mr); } } } }
/// <summary> /// ����ϵͳ������ࡣ /// </summary> /// <param name="dto">������ϵͳ����������Ϣ��</param> /// <returns>��ϵͳ��������Id����-2��Tag�ظ�����</returns> public static string InsertSysCodeType(SysCodeTypeDTO dto) { SysCodeType existingSct = GetSysCodeTypeByTag(dto.Tag); if (existingSct != null) { return "-2"; } Db.SessionFactory.EvictQueries("SysCodeType"); SysCodeType sct = new SysCodeType(); sct.Id = IdGen.GetNextId(typeof(SysCodeType)); sct.Tag = dto.Tag; sct.Name = dto.Name; sct.Remark = dto.Remark; sct.OrderId = dto.OrderId; Db.TransInsert(sct); return sct.Id; }