Ejemplo n.º 1
0
        public FriendViewModelsForUsers ConvertFriendToFriendViewModelsForUsers(List <FriendModels> friends, string userId)
        {
            List <FriendViewModels> list = new List <FriendViewModels>();

            foreach (FriendModels friend in friends)
            {
                if (!friend.UserId.Equals(userId))
                {
                    list.Add(new FriendViewModels {
                        FriendshipRelationId = friend.Id,
                        Friend         = profileRepository.Get(friend.UserId),
                        FriendCategory = friend.Category
                    });
                }
                else
                {
                    list.Add(new FriendViewModels {
                        FriendshipRelationId = friend.Id,
                        Friend         = profileRepository.Get(friend.FriendId),
                        FriendCategory = friend.Category
                    });
                }
            }
            FriendViewModelsForUsers model = new FriendViewModelsForUsers {
                UserId     = userId,
                FriendList = list
            };

            return(model);
        }
Ejemplo n.º 2
0
        public PartialViewResult UpdateFriendList(string Id)
        {
            List <FriendModels>      friends = friendRepository.GetAllFriendsByUserId(Id);
            FriendViewModelsForUsers model   = ConvertFriendToFriendViewModelsForUsers(friends, Id);

            return(PartialView("_Friends", model));
        }
Ejemplo n.º 3
0
        // GET: Profile
        public ActionResult Index()
        {
            object profileId     = Request.RequestContext.RouteData.Values["id"];
            string currentUserId = User.Identity.GetUserId();

            if (string.IsNullOrWhiteSpace((string)profileId))
            {
                profileId = currentUserId;
            }

            // Add user to visitor list for the visited profile, but remove them first if they're already in the 5 latest
            if (!string.Equals(currentUserId, (string)profileId))
            {
                List <VisitorModels> allVisitors = visitorRepository.GetAllVisitorsByUserId((string)profileId);                // Everyone who has looked at this profile
                if (allVisitors.Any((v) => v.VisitFromId.Equals(currentUserId)))                                               // If current user has already visited this profile
                {
                    visitorRepository.Remove(visitorRepository.GetVisitIdByVisitFromUserId((string)profileId, currentUserId)); // Remove the visit by the current user
                }
                VisitorModels visitor = new VisitorModels {
                    VisitDateTime = DateTime.Now,
                    VisitFromId   = currentUserId,
                    VisitToId     = (string)profileId
                };
                visitorRepository.Add(visitor);
                visitorRepository.Save();
            }

            ProfileModels            userProfile              = profileRepository.Get((string)profileId);
            List <PostModels>        posts                    = postRepository.GetAllPostsForUserById((string)profileId);
            List <FriendModels>      friends                  = friendRepository.GetAllFriendsByUserId((string)profileId);
            PostViewModelsForUsers   postViewModelForUsers    = ConvertPostToPostViewModelForUsers(posts, (string)profileId);
            FriendViewModelsForUsers friendViewModelsForUsers = ConvertFriendToFriendViewModelsForUsers(friends, (string)profileId);

            ProfileViewModel userProfileViewModel = new ProfileViewModel {
                Id           = userProfile.Id,
                FirstName    = userProfile.FirstName,
                LastName     = userProfile.LastName,
                Gender       = userProfile.Gender,
                Biography    = userProfile.Biography,
                BirthDate    = userProfile.BirthDate.ToShortDateString(),
                IsActive     = userProfile.IsActive,
                Posts        = postViewModelForUsers,
                Friends      = friendViewModelsForUsers,
                ProfileImage = userProfile.ProfileImage
            };

            ViewBag.ProfileRelation = GetProfileRelation((string)profileId);

            return(View(userProfileViewModel));
        }