public ActionResult OtherUsersProfile(int otherUserId) { int userId = Convert.ToInt32(Session["userId"]); // check are they connected Connection connection = new Connection() { UserId = userId, OtherUserId = otherUserId }; bool usersAreConnected = _profileService.AreUsersConnected(connection); User myUserDetails = _profileService.GetUserDetails(userId); User otherUserDetails = _profileService.GetUserDetails(otherUserId); CombinedUserProfilesViewModel bothProfilesViewModel = new CombinedUserProfilesViewModel() { OtherUserDetails = otherUserDetails, MyUserDetails = myUserDetails, UsersAreConnected = usersAreConnected, Connection = connection }; bothProfilesViewModel.OtherUsersConnections = _profileService.GetAllOfAUsersConnectionsDetails(otherUserId); bothProfilesViewModel.OtherUsersBookReviews = _bookService.GetAllOfAUsersBookReviewsDetails(otherUserId); bothProfilesViewModel.OtherUsersToReadBookDetails = new MyToReadDetails(); bothProfilesViewModel.OtherUsersToReadBookDetails.ToReadBooksDetails = _bookService.GetBooksOnUsersBookShelf(otherUserId); ViewBag.Message = "Other User's Profile"; return(View(bothProfilesViewModel)); }
public void GivenValidConnectionDetails_WhenDeleteConnectionCalled_ReturnCorrectCombinedProfileViewModel() { // Arrange Connection coonection = new Connection(); coonection.UserId = 5; coonection.OtherUserId = 10; CombinedUserProfilesViewModel combinedDetails = new CombinedUserProfilesViewModel(); combinedDetails.Connection = coonection; using (var scope = Container.BeginLifetimeScope()) { _profilesController = scope.Resolve <ProfilesController>(); _profilesController.CreateConnectionBetweenUsers(combinedDetails); // Act var result = _profilesController.DeleteConnectionBetweenUsers(combinedDetails) as RedirectToRouteResult; // Assert Assert.IsNotNull(result); var values = result.RouteValues.Values; var userDetails = values.First(); Assert.AreSame(userDetails, combinedDetails.MyUserDetails); Assert.IsTrue(values.Contains(CombinedUserProfilesViewModel.Success)); Assert.IsTrue(values.Contains(controllerName)); Assert.IsTrue(values.Contains(actionCalledOtherUsersProfile)); } }
public ActionResult CreateConnectionBetweenUsers(CombinedUserProfilesViewModel bothUserProfileDetails) { bool isConnectionCreated = _profileService.AddConnection(bothUserProfileDetails.Connection); bothUserProfileDetails.UsersAreConnected = isConnectionCreated; bothUserProfileDetails.ConnectionWasCreated = (isConnectionCreated) ? CombinedUserProfilesViewModel.Success : CombinedUserProfilesViewModel.Failed; return(RedirectToAction("OtherUsersProfile", "Profiles", bothUserProfileDetails)); }
public bool undoCreateConnectionAdditionToDb(CombinedUserProfilesViewModel combinedUserDetails) { _profilesController.DeleteConnectionBetweenUsers(combinedUserDetails); return(true); }