/// <summary> /// 添加权限组 /// </summary> /// <param name="groupInfo"></param> /// <param name="relations"></param> /// <returns></returns> public long AddGroupInfo(PermissionGroupInfo groupInfo, List <long> pmsIds, BLLTransaction tran) { if (Get <PermissionGroupInfo>(string.Format(" GroupName='{0}' AND WebsiteOwner='{1}' " , groupInfo.GroupName, groupInfo.WebsiteOwner)) != null) { throw new Exception("权限组名称已被使用"); } groupInfo.GroupID = Convert.ToInt64(GetGUID(TransacType.PermissionGroupAdd)); if (!Add(groupInfo, tran)) { throw new Exception("添加权限组失败"); } foreach (long pmsId in pmsIds) { PermissionRelationInfo relation = new PermissionRelationInfo(); relation.RelationID = groupInfo.GroupID.ToString(); relation.PermissionID = pmsId; relation.RelationType = 0; if (!Add(relation, tran)) { throw new Exception("添加权限关系失败"); } } return(groupInfo.GroupID); }
/// <summary> /// 添加权限组 /// </summary> /// <param name="groupInfo"></param> /// <param name="relations"></param> /// <returns></returns> public void UpdateGroupInfo(PermissionGroupInfo groupInfo, List <long> pmsIds, BLLTransaction tran) { PermissionGroupInfo tempOld = Get <PermissionGroupInfo>(string.Format(" GroupName='{0}' AND WebsiteOwner='{1}' " , groupInfo.GroupName, groupInfo.WebsiteOwner)); if (tempOld != null && tempOld.GroupID != groupInfo.GroupID) { throw new Exception("权限组名称已被使用"); } if (!Update(groupInfo, tran)) { throw new Exception("编辑权限组失败"); } List <PermissionRelationInfo> oldList = GetList <PermissionRelationInfo>( string.Format(" RelationType=0 AND RelationID='{0}' ", groupInfo.GroupID)); foreach (PermissionRelationInfo item in oldList) { if (!pmsIds.Exists(p => p == item.PermissionID)) { if (Delete(item, tran) == -1) { throw new Exception("删除旧权限关系失败失败"); } } } foreach (long pmsId in pmsIds) { if (!oldList.Exists(p => p.PermissionID == pmsId)) { PermissionRelationInfo relation = new PermissionRelationInfo(); relation.RelationID = groupInfo.GroupID.ToString(); relation.PermissionID = pmsId; relation.RelationType = 0; if (!Add(relation, tran)) { throw new Exception("添加新权限关系失败"); } } } }