Exemple #1
0
        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));
        }
Exemple #2
0
        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());
        }