public async Task <IActionResult> Index() { ApplicationUser applicationUser = await _userManager.GetUserAsync(HttpContext.User); List <string> roles = (List <string>) await _userManager.GetRolesAsync(applicationUser); UserProfile currentUser = await _repository.GetUserByIdAsync(new Guid(applicationUser.Id)); if (currentUser == null) { return(RedirectToAction("MakeNewProfile")); } List <Picture> pictures = await _repository.GetAllPicturesAsync(); ProfilePictureVM profilePictureVM = new ProfilePictureVM(currentUser.ProfilePicture); UserProfileVM userProfileVM = new UserProfileVM(currentUser); List <PictureVM> picturesToPresent = new List <PictureVM>(); foreach (var item in pictures) { picturesToPresent.Add(new PictureVM(item)); } // get all users List <UserProfileVM> userProfilesVM = await GetAllUsersVMAsync(currentUser.Id); //get following users List <UserProfileVM> followingUserProfilesVM = GetFollowingUsersVM(currentUser); MainVM indexViewModel = new MainVM("Newest Pictures", userProfileVM, picturesToPresent, userProfilesVM, followingUserProfilesVM); return(View("Index", indexViewModel)); }
public List <UserProfileVM> GetFollowingUsersVM(UserProfile currentUser) { List <UserProfile> followingUserProfiles = currentUser.Following; List <UserProfileVM> followingUserProfilesVM = new List <UserProfileVM>(); foreach (var followingUserProfile in followingUserProfiles) { ProfilePictureVM usersProfilePictureVM = new ProfilePictureVM(followingUserProfile.ProfilePicture); followingUserProfilesVM.Add(new UserProfileVM(followingUserProfile)); } return(followingUserProfilesVM); }
public async Task <List <UserProfileVM> > GetAllUsersVMAsync(Guid id) { List <UserProfile> userProfiles = await _repository.GetUserProfilesAsync(id); List <UserProfileVM> userProfilesVM = new List <UserProfileVM>(); foreach (var userProfile in userProfiles) { ProfilePictureVM usersProfilePictureVM = new ProfilePictureVM(userProfile.ProfilePicture); userProfilesVM.Add(new UserProfileVM(userProfile)); } return(userProfilesVM); }
public async Task <IActionResult> Index() { ApplicationUser applicationUser = await _userManager.GetUserAsync(HttpContext.User); UserProfile currentUser = await _repository.GetUserByIdAsync(new Guid(applicationUser.Id)); if (currentUser == null) { return(RedirectToAction("MakeNewProfile", "Main")); } ProfilePictureVM profilePictureVM = new ProfilePictureVM(currentUser.ProfilePicture); List <Album> albums = await _repository.GetUsersAlbumsAsync(currentUser.Id); List <AlbumVM> albumsVM = new List <AlbumVM>(); foreach (var album in albums) { albumsVM.Add(new AlbumVM(album.Id, album.UserId, album.DateCreated, album.Description)); } ManageProfileVM manageProfileVM = new ManageProfileVM(currentUser, albumsVM); return(View(manageProfileVM)); }