public new ActionResult Profile(string username) { var rep = new UserRepository(context); var visitRep = new VisitRepository(context); var postRep = new PostRepository(context); var visitedUser = rep.GetUserByUsername(username); var visitingUser = rep.GetUserByUsername(User.Identity.Name); var posts = postRep.GetPostOnUserWall(visitedUser); if (!User.Identity.IsAuthenticated) { return(RedirectToAction("Login", "Register")); } else { var isMatch = rep.IsMatch(visitedUser, visitingUser); var ProfileModel = new UserModel() { user = visitedUser, Matching = isMatch, Posts = posts }; if (!visitedUser.UserName.Equals(visitingUser.UserName)) { var visitList = visitRep.GetVisitsUserObjects(visitedUser); bool exists = visitList.Contains(visitingUser); if (!exists) { visitRep.AddVisit(visitingUser.UserName, visitedUser.UserName); } } return(View(ProfileModel)); } }