/**
  * @param $token
  * @return Response
  */
 public function getInfoAction($token)
 {
     $linkedinUser = LinkedinUser::getUserByToken($token);
     $user = new User();
     $user->setEmail($linkedinUser->getEmail());
     $user->setName($linkedinUser->getFirstName() . ' ' . $linkedinUser->getLastName());
     $user->setLinkedinUser($linkedinUser);
     /** @var EntityManager $entityManager */
     $entityManager = $this->get('neo4j.manager');
     $entityManager->persist($linkedinUser);
     $entityManager->persist($user);
     $entityManager->flush();
     return new Response('');
 }
Esempio n. 2
0
 /**
  * @param Job $job
  * @param User $user
  * @param array $friends
  * @return array
  */
 public function insertNew(Job $job, User $user, $friends)
 {
     $result = array();
     $company = $job->getCompany();
     /** @var FacebookUser $friend */
     foreach ($friends as $friend) {
         $jobSkill = array();
         $idJobMatch = $job->getId() . '-' . $user->getId() . '-' . $friend->getId();
         /** @var Skill $skill */
         foreach ($job->getSkills() as $skill) {
             $jobSkill[] = array('id' => $skill->getId(), 'name' => $skill->getName());
         }
         $jobMatch = new JobMatch();
         $jobMatch->setId($idJobMatch);
         $jobMatch->setJobId($job->getId());
         $jobMatch->setJob(array('id' => $job->getId(), 'name' => $job->getName(), 'skill' => $jobSkill));
         if (!empty($company)) {
             $jobMatch->setCompanyId($company->getId());
             $jobMatch->setCompany(array('id' => $company->getId(), 'name' => $company->getName()));
         }
         $jobMatch->setUser1Id($user->getId());
         $jobMatch->setUser1(array('id' => $user->getId(), 'name' => $user->getName(), 'avatar' => $user->getAvatar(), 'email' => $user->getEmail()));
         $jobMatch->setUser2Id($friend->getId());
         $jobMatch->setUser2(array('id' => $friend->getId(), 'name' => $friend->getName(), 'email' => $friend->getEmail()));
         try {
             $this->entityManager->persist($jobMatch);
             $this->entityManager->flush();
         } catch (\Exception $ex) {
         }
     }
     return $result;
 }
Esempio n. 3
0
 public function addNumberForSkill(User $user, Skill $skill, $count, $score)
 {
     //Create Neo4j query
     return $this->getOneByQuery(sprintf('MATCH(u:User)-[r:HAS_SKILL]->(s:Skill)
             WHERE ID(u) = %s AND ID(s) = %s
             SET r.score = r.score + %s, r.count = r.count + %s
             RETURN u, s', $user->getId(), $skill->getId(), $count, $score));
 }
Esempio n. 4
0
 public function getFriends(User $user)
 {
     //Create Neo4j query
     return $this->getListByQuery(sprintf('MATCH (u:User)-[:HAS_SOCIAL]->(f:FacebookUser)-[:IS_FRIEND]-(f1:FacebookUser)-[:HAS_SOCIAL]-(u1)
             WHERE ID(u) = %s
             RETURN u1', $user->getId()));
 }