/// <summary> /// 创建分配角色按钮权限的sql /// </summary> /// <param name="jb"></param> /// <param name="v"></param> /// <returns></returns> private string CreateDistributionButtonSql(List <dynamic> jb, string v) { StringBuilder sb = new StringBuilder(); //赋予角色菜单按钮权限的sql string dsql = @"IF EXISTS ( SELECT 1 FROM EHECD_Privilege WHERE sPrivilegeMaster = 'role'--分配给角色的 AND sPrivilegeMasterValue = '{0}'--角色ID AND sPrivilegeAccess = 'button'--特权类型是按钮 AND sPrivilegeAccessValue = '{1}'--按钮ID AND sBelong = 'menu'--属于菜单的 AND sBelongValue = '{4}'--菜单ID ) BEGIN --存在直接更新 {2} END ELSE BEGIN --不存在就插入一条 {3} END;"; for (int i = 0; i < jb.Count; i++) { sb.AppendFormat(dsql, v, jb[i].id.ToString(), DBSqlHelper.GetUpdateSQL <EHECD_PrivilegeDTO>( new EHECD_PrivilegeDTO { bIsDeleted = false }, string.Format( @"WHERE sPrivilegeMaster = 'role'--分配给角色的 AND sPrivilegeMasterValue = '{0}'--角色ID AND sPrivilegeAccess = 'button'--特权类型是按钮 AND sPrivilegeAccessValue = '{1}'--按钮ID AND sBelong = 'menu'--属于菜单的 AND sBelongValue = '{2}'--菜单ID", v, jb[i].id.ToString(), jb[i].menuid.ToString() ) ), DBSqlHelper.GetInsertSQL <EHECD_PrivilegeDTO>( new EHECD_PrivilegeDTO { bIsDeleted = false, bPrivilegeOperation = false, ID = GuidHelper.CreateRpcrt4Guid(), sBelong = "menu", sBelongValue = Guid.Parse(jb[i].menuid.ToString()), sPrivilegeAccess = "button", sPrivilegeAccessValue = Guid.Parse(jb[i].id.ToString()), sPrivilegeMaster = "role", sPrivilegeMasterValue = Guid.Parse(v) } ), jb[i].menuid.ToString() ); } return(sb.ToString()); }
/// <summary> /// 创建分配角色菜单的sql /// </summary> /// <param name="jm">要分配的菜单集合</param> /// <param name="roleId">要分配的角色</param> /// <returns>sql</returns> private string CreateDistributionMenuSql(List <string> jm, string roleId) { StringBuilder sb = new StringBuilder(); //赋予角色菜单权限的sql string dsql = @"IF EXISTS ( SELECT 1 FROM EHECD_Privilege WHERE sPrivilegeMaster = 'role' AND sBelong = 'role' AND sPrivilegeMasterValue = '{0}'--角色ID AND sBelongValue = '{0}'--角色ID AND sPrivilegeAccess = 'menu' AND sPrivilegeAccessValue = '{1}'--菜单ID ) BEGIN --存在直接更新 {2} END ELSE BEGIN --不存在就插入一条 {3} END;"; for (int i = 0; i < jm.Count; i++) { sb.AppendFormat(dsql, roleId, jm[i], DBSqlHelper.GetUpdateSQL <EHECD_PrivilegeDTO>( new EHECD_PrivilegeDTO { bIsDeleted = false }, string.Format( "WHERE sPrivilegeMaster = 'role' AND sBelong = 'role' AND sPrivilegeMasterValue = '{0}' AND sBelongValue = '{0}' AND sPrivilegeAccess = 'menu' AND sPrivilegeAccessValue = '{1}'", roleId, jm[i] ) ), DBSqlHelper.GetInsertSQL <EHECD_PrivilegeDTO>( new EHECD_PrivilegeDTO { bIsDeleted = false, bPrivilegeOperation = false, ID = GuidHelper.CreateRpcrt4Guid(), sBelong = "role", sBelongValue = Guid.Parse(roleId), sPrivilegeAccess = "menu", sPrivilegeAccessValue = Guid.Parse(jm[i]), sPrivilegeMaster = "role", sPrivilegeMasterValue = Guid.Parse(roleId) } ) ); } return(sb.ToString()); }