/** * @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(''); }
/** * @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; }
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)); }
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())); }