Beispiel #1
0
        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));
            }
        }