// TODO: Properties are mapping in reverse // Data models for userFollowers table should change. public async Task Follow(string senderId, string reciverId) { var entity = this.followerRepository .AllWithDeleted() .FirstOrDefault(x => x.RevicerId == reciverId && x.SenderId == senderId); var sender = this.userService.GetUserId(senderId); var revicer = this.userService.GetUserId(reciverId); if (entity == null || !entity.IsDeleted) { var insertEntity = new UserFollowers() { Sender = sender, Revicer = revicer, IsFollowing = true, }; await this.followerRepository.AddAsync(insertEntity); } else { entity.IsFollowing = true; this.followerRepository.Undelete(entity); } await this.notificationsService.AddNotificationAsync(sender, revicer, NotificationType.Follow); await this.followerRepository.SaveChangesAsync(); }
public JsonResult FollowUser(UserFollowers ufTable) { ufTable.TimeStamp = DateTime.Now; var userId = User.Identity.GetUserId(); var result = _userService.FollowUser(ufTable, userId); return(Json(result)); }
public void UpdateInfo(TwitterUser user) { UserTweets = user.StatusesCount; TweetCount.Text = UserTweets.ToString(); UserFollowing = user.FriendsCount; FollowingCount.Text = UserFollowing.ToString(); UserFollowers = user.FollowersCount; FollowersCount.Text = UserFollowers.ToString(); }
public UserFollowers AddUser(string user) { var usr = userFollowers.FirstOrDefault(u => u.User == user); if (usr == null) { usr = new UserFollowers { User = user, Followers = new HashSet<string>() }; userFollowers.Add(usr); } return usr; }
public void InMemoryDBUserFollowerRepository_AddUser_AddSuccess_User() { var expectedUser = new UserFollowers { User = "******", Followers = new HashSet <string>() }; var result = inMemoryDBUserFollower.AddUser("Alice"); Assert.AreEqual(expectedUser, result); }
public void UserFollowersService_AddUser_AddSuccess_User() { var expectedUser = new UserFollowers { User = "******", Followers = new HashSet <string>() }; var result = userFollowersService.AddUser("Javier"); Assert.AreEqual(expectedUser, result); }
public void InMemoryDBUserFollowerRepository_GetUser_ExistUser_User() { inMemoryDBUserFollower.AddUser("Alice"); var expected = new UserFollowers { User = "******", Followers = new HashSet <string>() }; var result = inMemoryDBUserFollower.GetUser("Alice"); Assert.AreEqual(expected, result); }
public void UserFollowersService_FollowUser_ExistUser_User() { var expected = new UserFollowers { User = "******", Followers = new HashSet <string> { "Bob" } }; var result = userFollowersService.FollowUser("Alice", "Bob"); Assert.AreEqual(expected, result); }
public BaseResponse FollowUser(UserFollowers ufTable, string userId) { var result = new BaseResponse(); try { var internalUserId = _context.UserTable.Where(x => x.AspNetUserId == userId).Single().Id; ufTable.FollowingUserId = internalUserId; _context.UserFollowerTable.Add(ufTable); _context.SaveChanges(); result.Message = "Now you follow this user"; result.Success = true; } catch (Exception ex) { result.Success = false; result.Message = ex.Message; } return(result); }
public static string ImportFollowers(InstagraphContext context, string jsonString) { var deserializedFollowers = JsonConvert.DeserializeObject <FollowerDto[]>(jsonString); var sb = new StringBuilder(); var followers = new List <UserFollowers>(); foreach (var dto in deserializedFollowers) { int?userId = context.Users.FirstOrDefault(u => u.Username == dto.User)?.Id; int?followerId = context.Users.FirstOrDefault(u => u.Username == dto.Follower)?.Id; if (userId == null || followerId == null) { sb.AppendLine(errorMsg); continue; } bool allreadyFollowing = followers.Any(f => f.UserId == userId && f.FollowerId == followerId); if (allreadyFollowing) { sb.AppendLine(errorMsg); continue; } var userFollower = new UserFollowers() { UserId = userId.Value, FollowerId = followerId.Value }; followers.Add(userFollower); sb.AppendLine(String.Format(succsessMSg, $"Follower {dto.Follower} to User {dto.User}")); } context.UsersFollowers.AddRange(followers); context.SaveChanges(); return(sb.ToString().Trim()); }
public List <UserFollowers> GetUserFollowers(UserFollowersID Id) { List <UserFollowers> results = new List <UserFollowers>(); dataProvider.ExecuteCmd( (Id.GetShortList)? "Users_FollowersTop5" : "Users_Followers", inputParamMapper: param => { param.AddWithValue("@Id", Id.Id); }, singleRecordMapper: (reader, resultSetNumber) => { UserFollowers model = new UserFollowers(); model.Followers = (int)reader["Followers"]; model.ReceiverId = (int)reader["ReceiverId"]; model.AvatarUrl = (string)reader["AvatarUrl"]; model.FirstName = (string)reader["FirstName"]; model.LastName = (string)reader["LastName"]; model.Type = (string)reader["Type"]; results.Add(model); }); return(results); }