public IActionResult AddFollower([FromBody] AddUserFollowersCommand follow) { try { return(Ok(_followersService.AddFollower(follow))); } catch (NegotiatedContentResultException) { _logger.LogError($"Cannot Add Follower by {follow.FollowingUserId} to {follow.FollowedUserId}"); return(StatusCode(409)); } }
public UserFollowers AddFollower(AddUserFollowersCommand follow) { using (var db = _paintStoreContext) { if ((db.UserFollowers.Any(x => x.FollowedUserId == follow.FollowedUserId && x.FollowingUserId == follow.FollowingUserId)) || follow.FollowedUserId == follow.FollowingUserId) { throw new NegotiatedContentResultException(); } FollowersManager.UserFollowedCountPlus(db, follow.FollowedUserId); FollowersManager.UserFollowingCountPlus(db, follow.FollowingUserId); var followToAdd = _mapper.Map <UserFollowers>(follow); db.UserFollowers.Add(followToAdd); db.SaveChanges(); return(followToAdd); } }