public IActionResult ViewFriends() { var user = friendService.Get(currentUser.Id); var model = new ViewFriendModel { Friends = new List <FriendModel>(), Requests = new List <FriendModel>() }; foreach (var friendRequest in user.FriendRequestsUserTo) { model.Requests.Add(mapper.Map <FriendModel>(friendRequest.UserFrom)); } foreach (var friend in user.FriendsUser1) { model.Friends.Add(mapper.Map <FriendModel>(friend.User2)); } foreach (var friend in user.FriendsUser2) { model.Friends.Add(mapper.Map <FriendModel>(friend.User1)); } return(View(model)); }
public async Task <IActionResult> OnGetAsync(string id) { string userId = _userManager.GetUserId(User); var friendShip = await _context.Friend .Where(f => f.FirstUserId == userId && f.SecondUserId == id) .FirstOrDefaultAsync(); if (friendShip == null) { return(NotFound()); } var user = await _context.UserApp.FirstOrDefaultAsync(u => u.Id == id); var passions = await _context.Passion.Where(p => p.UserId == id).ToListAsync(); var talents = await _context.Talent.Where(t => t.UserId == id).ToListAsync(); uint points = 0; FriendView = new ViewFriendModel() { FullName = user.FirstName + " " + user.LastName, UserId = user.Id, Story = user.Story, Achivements = new List <Models.Users.AchivementModel>(), Passions = new List <Models.Users.PassionModel>(), AchivementsConut = talents.Count, PassionConut = passions.Count }; foreach (var passion in passions) { var pasionType = await _context.PassionType.FirstOrDefaultAsync(t => t.Id == passion.PassionTypeId); string level = await _context.Level.Where(l => l.Id == passion.LevelId).Select(l => l.Name).FirstOrDefaultAsync(); FriendView.Passions.Add(new Models.Users.PassionModel() { Name = pasionType.Name, Type = pasionType.Type, Level = level, Points = passion.Points, AllocateTime = Math.Round(passion.AlloceteTime, 2) }); points += passion.Points; } FriendView.AllPoints = points; foreach (var talnet in talents) { var type = await _context.Level.Where(t => t.Id == talnet.TypeId).Select(t => t.Name).FirstOrDefaultAsync(); FriendView.Achivements.Add(new Models.Users.AchivementModel() { Name = talnet.Name, Type = type, Description = talnet.Description, }); } return(Page()); }