public async Task <IViewComponentResult> InvokeAsync() { var finalResults = new HomeResultsVm() { BlogResults = new List <HomeBlogVm>(), PostResults = new List <HomePostVm>(), SectionResults = new List <HomeSectionVm>() }; var friends = friendsService.FriendsOf().Take(randomizer.Next(5, 10)); foreach (var friend in friends) { var frResults = GetResultsForUser(friend); finalResults.BlogResults.AddRange(frResults.BlogResults); finalResults.PostResults.AddRange(frResults.PostResults); finalResults.SectionResults.AddRange(frResults.SectionResults); } var randUsers = userInfoService.GetRandomUsers(randomizer); foreach (var randUser in randUsers) { var uResults = GetResultsForUser(randUser); finalResults.BlogResults.AddRange(uResults.BlogResults); finalResults.PostResults.AddRange(uResults.PostResults); finalResults.SectionResults.AddRange(uResults.SectionResults); } return(View("HomeResults", finalResults)); }
public async Task <IViewComponentResult> InvokeAsync() { var sentRequests = new List <FriendRequestVm>(); var receivedRequests = new List <FriendRequestVm>(); var friends = friendsService.FriendsOf() .Where(f => f != null) .Select(f => new MainFriendVm(new UserNoPass(f))); friendRequestsService .ReceivedFriendRequests() .ToList() .ForEach(rReq => { var s = userInfoService.GetUserWithId(rReq.SenderId); receivedRequests.Add(new FriendRequestVm() { SenderUsername = s.Username, SenderId = s.Id, SenderPhoto = s.Photo, Date = rReq.CreateDate, IsDeleted = rReq.IsDeleted }); }); return(View("FriendsListFloater", new CombinedFriendsVm() { FriendsList = friends, SentRequestsList = sentRequests, ReceivedRequestsList = receivedRequests })); }
public List <Users> GetRandomUsers(Random random) { var results = new List <Users>(); var users = new List <Users>(); if (CurrentUser.IsAuthenticated) { // nu iau oameni blocati sau prieteni sau pe mine var blockedUsers = blockService.BlockedByCurrent(); var friends = friendsService.FriendsOf().Where(f => f != null).Select(f => f.Id); users = unit.Users.Get() .Where(u => u.Id != int.Parse(CurrentUser.Id) && !blockedUsers.Contains(u.Id) && !friends.Contains(u.Id)) .ToList(); } else { users = unit.Users.Get().ToList(); } var count = random.Next(3, users.Count); var usedIds = new List <int>(); for (int i = 0; i < count; ++i) { var randIndex = random.Next(1, users.Count); // verific sa nu trimit date despre acelasi user de 2 ori if (!usedIds.Contains(randIndex)) { var randUsr = users[randIndex]; usedIds.Add(randIndex); results.Add(randUsr); } else { i--; } } return(results); }
public IActionResult MainFriendsList(int userId) { var friendsList = new List <UserInfoVm>(); friendsService .FriendsOf(userId) .ForEach(usr => friendsList .Add(new UserInfoVm() { Id = usr.Id, Username = usr.Username, Email = usr.Email, Photo = usr.Photo, Gender = usr.Gender }) ); return(View("MainFriendsList", friendsList)); }