/// <summary> /// 撤消资源的权限 /// </summary> /// <param name="userInfo">用户</param> /// <param name="resourceCategory">资源分类</param> /// <param name="resourceId">资源主键</param> /// <param name="revokePermissionItemIds">操作权限主键</param> /// <returns>影响的行数</returns> public int RevokeResourcePermission(UserInfo userInfo, string resourceCategory, string resourceId, string[] revokePermissionItemIds) { var returnValue = 0; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.PermissionService_RevokeResourcePermission); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { if (revokePermissionItemIds != null) { var permissionManager = new PiPermissionManager(dbProvider, userInfo); string[] names = new string[3]; string[] values = new string[3]; names[0] = PiPermissionTable.FieldResourceCategory; values[0] = resourceCategory; names[1] = PiPermissionTable.FieldResourceId; values[1] = resourceId; names[2] = PiPermissionTable.FieldPermissionId; for (int i = 0; i < revokePermissionItemIds.Length; i++) { values[2] = revokePermissionItemIds[i]; // returnValue += permissionManager.SetDeleted(names, values); returnValue += permissionManager.Delete(names, values); } } }); return(returnValue); }
/// <summary> /// 撤销组织机构全部权限 /// </summary> /// <param name="organizeId">组织机构主键</param> /// <returns>影响行数</returns> public int RevokeAll(string organizeId) { PiPermissionManager permissionManager = new PiPermissionManager(DBProvider, UserInfo, this.CurrentTableName); List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> > { new KeyValuePair <string, object>(PiPermissionTable.FieldResourceCategory, this.CurrentTableName), new KeyValuePair <string, object>(PiPermissionTable.FieldResourceId, organizeId) }; return(permissionManager.Delete(parameters)); }
// // 撤销权限的实现部分 // #region private int Revoke(PiPermissionManager permissionManager, string organizeId, string permissionItemId) 为了提高撤销的运行速度 /// <summary> /// 为了提高撤销的运行速度 /// </summary> /// <param name="permissionManager">资源权限读写器</param> /// <param name="organizeId">组织机构主键</param> /// <param name="permissionItemId">权限主键</param> /// <returns>影响行数</returns> private int Revoke(PiPermissionManager permissionManager, string organizeId, string permissionItemId) { List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> > { new KeyValuePair <string, object>(PiPermissionTable.FieldResourceCategory, PiOrganizeTable.TableName), new KeyValuePair <string, object>(PiPermissionTable.FieldResourceId, organizeId), new KeyValuePair <string, object>(PiPermissionTable.FieldPermissionId, permissionItemId) }; return(permissionManager.Delete(parameters)); }
/// <summary> /// 撤销用户全部权限 /// </summary> /// <param name="userId">用户主键</param> /// <returns>影响行数</returns> public int RevokeAll(string userId) { PiPermissionManager permissionManager = new PiPermissionManager(DBProvider, UserInfo); string[] names = new string[2]; string[] values = new string[2]; names[0] = PiPermissionTable.FieldResourceCategory; values[0] = PiUserTable.TableName; names[1] = PiPermissionTable.FieldResourceId; values[1] = userId; return(permissionManager.Delete(names, values)); }
// // 撤销权限的实现部分 // #region private int Revoke(PiPermissionManager permissionManager, string userId, string permissionItemId) 为了提高撤销的运行速度 /// <summary> /// 为了提高撤销的运行速度 /// </summary> /// <param name="permissionManager">资源权限读写器</param> /// <param name="userId">用户主键</param> /// <param name="permissionItemId">权限主键</param> /// <returns>影响行数</returns> private int Revoke(PiPermissionManager permissionManager, string userId, string permissionItemId) { string[] names = new string[3]; string[] values = new string[3]; names[0] = PiPermissionTable.FieldResourceCategory; values[0] = PiUserTable.TableName; names[1] = PiPermissionTable.FieldResourceId; values[1] = userId; names[2] = PiPermissionTable.FieldPermissionId; values[2] = permissionItemId; return(permissionManager.Delete(names, values)); }
public int Delete(string moduleId, string permissionItemId) { int returnValue = 0; List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> > { new KeyValuePair <string, object>(PiPermissionTable.FieldResourceCategory, PiModuleTable.TableName), new KeyValuePair <string, object>(PiPermissionTable.FieldResourceId, moduleId), new KeyValuePair <string, object>(PiPermissionTable.FieldPermissionId, permissionItemId) }; PiPermissionManager manager = new PiPermissionManager(this.DBProvider, this.UserInfo); returnValue = manager.Delete(parameters); return(returnValue); }