public IActionResult GetById(long id) { var loggedInUserRole = HttpContext.Session.GetString("LoggedInUserRole"); var contentType = Request.ContentType; User user = _userData.GetById(id); if (user == null) { return(NotFound()); } if (contentType == null) { if (loggedInUserRole != null) { if (loggedInUserRole.Equals("1")) { long loggedInUserId = long.Parse(HttpContext.Session.GetString("LoggedInUserId")); if (user.Blocked == true && user.Id != loggedInUserId) { return(StatusCode(401)); } } } else { if (user.Blocked == true) { return(StatusCode(401)); } } } user.Followers = _followData.GetFollowers(user.Id); user.Following = _followData.GetFollowings(user.Id); user.UserVideos = _videoData.GetByOwnerId(user.Id); user.LikedVideos = _videoData.GetLikedVideos(user); user.UserComments = _commentData.GetCommentsByUser(user.Id); foreach (var u in user.LikedVideos) { u.Owner = _userData.GetById(u.OwnerId); } SingleUserDTO singleUserDTO = SingleUserDTO.ConvertUserToDTO(user); if (contentType != null) { if (contentType.Equals("application/json")) { return(Json(singleUserDTO)); } else if (contentType.Equals("text/html")) { SingleUserDTO newDTO = SingleUserDTO.ConvertUserToDTO(user); return(View("SingleUserInfo", newDTO)); } return(StatusCode(415)); } return(View("UserPage", singleUserDTO)); }