private async Task OnUserMembershipChangedAsync(UserMembershipChanged userMembershipChanged, CancellationToken cancellationToken = default(CancellationToken)) { if (String.IsNullOrEmpty(userMembershipChanged?.OrganizationId)) return; // manage user organization group membership foreach (var connectionId in _userIdConnections.GetConnections(userMembershipChanged.UserId)) { if (userMembershipChanged.ChangeType == ChangeType.Added) await Context.Groups.Add(connectionId, userMembershipChanged.OrganizationId); else if (userMembershipChanged.ChangeType == ChangeType.Removed) await Context.Groups.Remove(connectionId, userMembershipChanged.OrganizationId); } await Context.Groups.TypedSend(userMembershipChanged.OrganizationId, userMembershipChanged); }
private async Task OnUserMembershipChangedAsync(UserMembershipChanged userMembershipChanged, CancellationToken cancellationToken = default(CancellationToken)) { if (String.IsNullOrEmpty(userMembershipChanged?.OrganizationId)) return; // manage user organization group membership foreach (var connectionId in await _connectionMapping.GetConnectionsAsync(userMembershipChanged.UserId)) { if (userMembershipChanged.ChangeType == ChangeType.Added) await _connectionMapping.GroupAddAsync(userMembershipChanged.OrganizationId, connectionId) ; else if (userMembershipChanged.ChangeType == ChangeType.Removed) await _connectionMapping.GroupRemoveAsync(userMembershipChanged.OrganizationId, connectionId); } await GroupSendAsync(userMembershipChanged.OrganizationId, userMembershipChanged); }