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); }
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)); }