Exemple #1
0
 /**
  * Create skill from data of linkedinSkill
  *
  * @param LinkedinSkill $linkedinSkill
  * @param bool|false $mapSkill
  * @return Skill
  */
 public static function createFromLinkedinSkill(LinkedinSkill $linkedinSkill, $mapSkill = false)
 {
     $skill = new Skill();
     $skill->setName($linkedinSkill->getName());
     if ($mapSkill) {
         $linkedinSkill->setSkill($skill);
     }
     return $skill;
 }
 /**
  * Get linkedinSkill from database, if not exist, create new one
  *
  * @param LinkedinSkill $linkedinSkill
  * @param bool $flush Insert to database or not
  * @return array
  */
 public function getOrCreate(LinkedinSkill $linkedinSkill, $flush = true)
 {
     $linkedinSkillResult = $this->findOneBy(array('name' => $linkedinSkill->getName()));
     if (empty($linkedinSkillResult)) {
         $skillResult = Skill::createFromLinkedinSkill($linkedinSkill, true);
         $this->persist($skillResult, $flush);
         $linkedinSkillResult = $this->persist($linkedinSkill, $flush);
     } else {
         /** @var SkillRepository $skillRepository */
         $skillRepository = $this->getEntityManager()->getRepository(ClassPath::SKILL);
         $skillResult = $skillRepository->getFromLinkedinSkill($linkedinSkillResult);
     }
     return array('skill' => $skillResult, 'linkedinSkill' => $linkedinSkillResult);
 }
 public function addNumberForSkillOfFacebookUser($idFB, Skill $skill, $count, $score)
 {
     //Create Neo4j query
     return $this->getOneByQuery(sprintf('MATCH(f:FacebookUser)<-[:HAS_SOCIAL]-(u:User)-[r:HAS_SKILL]->(s:Skill)
             WHERE ID(f) = %s AND ID(s) = %s
             SET r.score = r.score + %s, r.count = r.count + %s
             RETURN u, s', $idFB, $skill->getId(), $count, $score));
 }