public async Task UnfollowUserId(long userId) { if (logger.IsVerbose) { logger.Verbose("{0} UnfollowUserId({1}).", Me, userId); } IChirperPublisher userToUnfollow = ChirperPublisherFactory.GetGrain(userId); string alias = await userToUnfollow.GetUserAlias(); await UnfollowUser(userId, alias, userToUnfollow); }
private async Task UnfollowUser(long userId, string userAlias, IChirperPublisher userToUnfollow) { await userToUnfollow.RemoveFollower(State.UserAlias, this); ChirperUserInfo userInfo = ChirperUserInfo.GetUserInfo(userId, userAlias); State.Subscriptions.Remove(userInfo); // Notify any viewers that a subscription has been removed for this user viewers.Notify( v => v.SubscriptionRemoved(userInfo) ); }
private async Task FollowUser(long userId, string userAlias, IChirperPublisher userToFollow) { if (logger.IsVerbose) { logger.Verbose("{0} FollowUser({1}).", Me, userAlias); } await userToFollow.AddFollower(State.UserAlias, State.UserId, this); ChirperUserInfo userInfo = ChirperUserInfo.GetUserInfo(userId, userAlias); State.Subscriptions[userInfo] = userToFollow; // Notify any viewers that a subscription has been added for this user viewers.Notify( v => v.SubscriptionAdded(userInfo) ); }