public bool IsFollowing(FollowerLinkDTO followData) { return(db.Users .FindById(followData.UserId) .FollowingUsers .Any(u => u.Id == followData.FollowingUserId)); }
public async Task Unfollow(FollowerLinkDTO followData) { var follower = db.Users.FindById(followData.UserId); var followingUser = db.Users.FindById(followData.FollowingUserId); followingUser.Followers.Remove(follower); await db.SaveChangesAsync(); }
public async Task ChangeFollow(FollowerLinkDTO followData) { if (IsFollowing(followData)) { await Unfollow(followData); } else { await Follow(followData); } }
public async Task FollowAction([FromBody] FollowingLinkViewModel viewModel) { var followerId = RequestContext.Principal.Identity.GetUserId(); var name = User.Identity.GetUserName(); var followerData = new FollowerLinkDTO { UserId = viewModel.UserId, FollowingUserId = viewModel.FollowingUserId }; await activityService.ChangeFollow(followerData); }