public async Task <IActionResult> FriendRequest(int id) { var friendRequest = await _friendsService.GetFriendRequestAsync(id); if (friendRequest == null) { return(Error.FromController(this).Error( "Friend request not found", "The friend request you referenced does not exist in the system. " + "Please, make sure the link you followed is identical with the one in the email.", HttpStatusCode.NotFound, _logger)); } if (friendRequest.UserTo.UserName != User.Identity.Name) { return(Error.FromController(this).AccessDenied()); } if (friendRequest.Status == FriendRequestDto.FriendRequestStatus.Accepted || friendRequest.Status == FriendRequestDto.FriendRequestStatus.Rejected) { return(Error.FromController(this).Error( "Friend request expired", "The friend request you referenced has already been accepted or rejected.", HttpStatusCode.Conflict, _logger)); } return(View("FriendRequest", friendRequest.ToViewModel())); }