private async Task <bool> HandleRemovedPermissionMappings( long roleId, IEnumerable <RolePermissionMappingIdentityViewModel> permissionMappings, IEnumerable <int> grantedPermissionIds, long actionId, CancellationToken cancellationToken) { var removedPermissionMappingIds = permissionMappings .Where(x => !grantedPermissionIds.Contains(x.PermissionId)) .Select(x => x.Id) .ToArray(); if (!removedPermissionMappingIds.Any()) { return(false); } RolesLogMessages.RolePermissionMappingsDeleting(_logger, roleId, removedPermissionMappingIds); await _rolesRepository.UpdatePermissionMappingsAsync( removedPermissionMappingIds, deletionId : actionId, cancellationToken); RolesLogMessages.RolePermissionMappingsDeleted(_logger, roleId); return(true); }