Example #1
0
        public static ProfilePageDto Mapper(User From, int UserId /*logged-in user*/)
        {
            ProfilePageDto to = new ProfilePageDto();

            to.UserInfo                = mapperInfo(From);
            to.UserProfilePhoto        = mapperProfilePhoto(From);
            to.AllProfilePhotos        = mapperAllPhoto(From);
            to.CanEditProfileWritePost = mapperCanChange(From, UserId);
            to.FriendRequests          = mapperFriendRequest(From, UserId);
            to.NumberOfFriends         = mapperNumOfFriends(From);
            to.Posts             = mapperPosts(From, UserId);
            to.btnRelationStatus = btnRelation(From, UserId);
            to.CurrentUserId     = UserId;

            return(to);
        }
Example #2
0
        public IActionResult Profile(int?id)
        {
            ViewData["LayoutData"] = userData.GetLayoutData(HttpContext);
            ViewData["Users"]      = userData.GetUser(HttpContext);

            User currentUser = userData.GetUser(HttpContext);

            if (id == null)
            {
                return(RedirectToAction("Login", "Account"));
            }

            //to confirm Valid Id
            if (id != currentUser.Id)
            {
                var user = facebookDataContext.Users.Any(u => u.IsDeleted == false && u.Id == id);
                if (!user)
                {
                    return(RedirectToAction("Login", "Account"));
                }
            }

            var AllUserdata = facebookDataContext.Users.Where(user => user.Id == id)
                              .Include("Gender")
                              .Include("ProfilePhotos")                                 //profilePhotos
                              .Include("UserRelationsDesider.Initiator.ProfilePhotos")  //requests&countFriend
                              .Include("UserRelationsDesider.Desider.ProfilePhotos")
                              .Include("UserRelationsInitiator")                        //CountFriend
                              .Include("UsersPosts.Post.Comments.User.ProfilePhotos")   //commenets
                              .Include("UsersPosts.Post.Likes.User.ProfilePhotos")      //postsAndLikes/user
                              .Include("UsersPosts.Post.PostPhotos").SingleOrDefault(); //postsAndPhoto


            ProfilePageDto profilePageDto = ProfilePageDtoMapper.Mapper(AllUserdata, (int)currentUser.Id);

            ViewBag.Gender = new SelectList(facebookDataContext.Gender, "Id", "GenderName", AllUserdata.GenderId);


            return(View(profilePageDto));
        }