예제 #1
0
        public IActionResult ProfileOf(int userId)
        {
            var user = userInfoService?.GetUserWithId(userId);

            if (user is null)
            {
                return(RedirectToActionPermanent("Index", "Home"));
            }

            var model = Mapper.Map <UserInfoVm>(user);

            model.IsBlocked = blockService
                              .UserBlockedUser(int.Parse(userInfoService.CurrentUser.Id), model.Id) != null;
            if (model.IsBlocked)
            {
                return(NotFound("Could not find user :("));
            }

            model.Birthdate = user.Birthdate;

            if (userInfoService.CurrentUser.IsAuthenticated &&
                int.Parse(userInfoService.CurrentUser.Username) == userId)
            {
                return(View("SelfProfilePage", model));
            }

            model.FriendState = friendsService.CheckRelationshipWith(model.Id);
            model.BanState    = blockService.GetBanSate(model.Id);

            return(View("OthersProfilePage", model));
        }