public void AddRightToEntityPermission(long subjectId, long entityId, long instanceId, int rightType) { var entityPermissionManager = new EntityPermissionManager(); try { var entityPermission = entityPermissionManager.Find(subjectId, entityId, instanceId); if (entityPermission == null) { entityPermissionManager.Create(subjectId, entityId, instanceId, rightType); } else { if ((entityPermission.Rights & rightType) != 0) { return; } entityPermission.Rights += rightType; entityPermissionManager.Update(entityPermission); } } finally { entityPermissionManager.Dispose(); } }
public void RemoveRightFromEntityPermission(long subjectId, long entityId, long instanceId, int rightType) { var entityPermissionManager = new EntityPermissionManager(); try { var entityPermission = entityPermissionManager.Find(subjectId, entityId, instanceId); if (entityPermission == null) { return; } if (entityPermission.Rights == rightType) { entityPermissionManager.Delete(entityPermission); } else { if ((entityPermission.Rights & rightType) == 0) { return; } entityPermission.Rights -= rightType; entityPermissionManager.Update(entityPermission); } } finally { entityPermissionManager.Dispose(); } }