public virtual async Task LinkAsync(IdentityLinkUserInfo sourceLinkUser, IdentityLinkUserInfo targetLinkUser) { if (sourceLinkUser.UserId == targetLinkUser.UserId && sourceLinkUser.TenantId == targetLinkUser.TenantId) { return; } if (await IsLinkedAsync(sourceLinkUser, targetLinkUser)) { return; } var userLink = new IdentityLinkUser( GuidGenerator.Create(), sourceLinkUser, targetLinkUser); await IdentityLinkUserRepository.InsertAsync(userLink, true); }
public virtual async Task LinkAsync(IdentityLinkUserInfo sourceLinkUser, IdentityLinkUserInfo targetLinkUser, CancellationToken cancellationToken = default) { using (CurrentTenant.Change(null)) { if (sourceLinkUser.UserId == targetLinkUser.UserId && sourceLinkUser.TenantId == targetLinkUser.TenantId) { return; } if (await IsLinkedAsync(sourceLinkUser, targetLinkUser, cancellationToken: cancellationToken)) { return; } var userLink = new IdentityLinkUser( GuidGenerator.Create(), sourceLinkUser, targetLinkUser); await IdentityLinkUserRepository.InsertAsync(userLink, true, cancellationToken); } }