Ejemplo n.º 1
0
        //Hämtar den inloggade användarens profil, med tillhörande inlägg och vänlista.
        public IActionResult MyProfile()
        {
            string               email               = User.Identity.Name;
            int                  id                  = personRepository.GetIdByUserIdentityEmail((string)email);
            Person               user                = personRepository.GetPersonById((int)id);
            List <Post>          posts               = postRepository.GetAllPostsByPersonId((int)id);
            List <FriendRequest> friends             = requestRepository.GetFriendsByPersonId((int)id);
            PostUserViewModel    postUserViewModel   = CreatePostUserViewModel(posts, (int)id);
            FriendUserViewModel  friendUserViewModel = CreateFriendUserViewModel(friends, (int)id);

            if (ModelState.IsValid)
            {
                ProfileViewModel profileViewModel = new ProfileViewModel
                {
                    PersonId      = user.PersonId,
                    FirstName     = user.FirstName,
                    LastName      = user.LastName,
                    Description   = user.Description,
                    Picture       = user.Picture,
                    Email         = user.Email,
                    AccountHidden = user.AccountHidden,
                    Posts         = postUserViewModel,
                    Friends       = friendUserViewModel
                };
                return(View(profileViewModel));
            }
            //Om vi kommer hit är något fel och vi återgår till startsidan
            return(RedirectToAction("Index", "Home"));
        }
Ejemplo n.º 2
0
        //Skapar vymodell - FriendUserViewModel, som innehåller den inloggade användarens vänner.
        public FriendUserViewModel CreateFriendUserViewModel(List <FriendRequest> friends, int personId)
        {
            IEnumerable <FriendViewModel> friendsViewModel = friends.Select((p) => new FriendViewModel()
            {
                FirstPerson  = personRepository.GetPersonById(p.SenderId),
                SecondPerson = personRepository.GetPersonById(p.ReceiverId)
            });

            FriendUserViewModel friendUserViewModel = new FriendUserViewModel
            {
                PersonId = personId,
                Friends  = friendsViewModel.ToList()
            };

            return(friendUserViewModel);
        }