public function associateAction($trackId, $json)
 {
     $associationDto = $this->parseJson($json);
     $userTrack = $this->userTrackRepository->find($trackId);
     if ($userTrack == null) {
         $this->logger->error("There is no user track with id = {$trackId}.");
         throw new JsonException("Invalid id.");
     }
     $association = $this->associationHelper->convertDtoToAssociation($associationDto, $userTrack);
     $association = $this->associationRepository->tryFindTheSame($association);
     $userTrack->associate($this->securityManager->getSocialNetwork(), $association);
     $this->associationRepository->flush();
     $associationDto = $this->associationHelper->convertAssociationToDto($association);
     return new JsonViewModel($associationDto, $this->jsonUtils);
 }