@@ -426,7 +426,7 @@ await Auditing.SaveAuditRecordAsync(
426426 /// <summary>
427427 /// Unsubscribe a user from one or more security policies.
428428 /// </summary>
429- public Task UnsubscribeAsync ( User user , string subscriptionName )
429+ public Task UnsubscribeAsync ( User user , string subscriptionName , bool commitChanges = true )
430430 {
431431 if ( string . IsNullOrEmpty ( subscriptionName ) )
432432 {
@@ -439,13 +439,13 @@ public Task UnsubscribeAsync(User user, string subscriptionName)
439439 throw new NotSupportedException ( $ "Subscription '{ subscriptionName } ' not found.") ;
440440 }
441441
442- return UnsubscribeAsync ( user , subscription ) ;
442+ return UnsubscribeAsync ( user , subscription , commitChanges ) ;
443443 }
444444
445445 /// <summary>
446446 /// Unsubscribe a user from one or more security policies.
447447 /// </summary>
448- public async Task UnsubscribeAsync ( User user , IUserSecurityPolicySubscription subscription )
448+ public async Task UnsubscribeAsync ( User user , IUserSecurityPolicySubscription subscription , bool commitChanges = true )
449449 {
450450 if ( user == null )
451451 {
@@ -471,7 +471,10 @@ public async Task UnsubscribeAsync(User user, IUserSecurityPolicySubscription su
471471 await Auditing . SaveAuditRecordAsync (
472472 new UserAuditRecord ( user , AuditedUserAction . UnsubscribeFromPolicies , subscription . Policies ) ) ;
473473
474- await EntitiesContext . SaveChangesAsync ( ) ;
474+ if ( commitChanges )
475+ {
476+ await EntitiesContext . SaveChangesAsync ( ) ;
477+ }
475478
476479 Diagnostics . Information ( $ "User is now unsubscribed from '{ subscription . SubscriptionName } '.") ;
477480 }
0 commit comments