public function onTaskComplete(TaskEvent $event) { $exp = 1; $this->em->getRepository('AcmeUserBundle:User')->increaseExp($event->getTask()->getUser(), $exp); }
public function firstTaskAdd(TaskEvent $event) { $achievement = $this->em->getRepository('AcmeEdelaBundle:Achievement')->findOneBy(['tkey' => 'first-task-add']); if (!$achievement) { return; } if (!($userAchievement = $event->getUser()->getUserAchievements()->matching(Criteria::create()->where(Criteria::expr()->eq('achievement', $achievement)))->first())) { $userAchievement = new UserAchievement(); $userAchievement->setProgress(100)->setUser($event->getUser())->setAchievement($achievement); $this->em->persist($userAchievement); $this->em->getRepository('AcmeUserBundle:User')->increaseExp($event->getUser(), $achievement->getExpReward()); $this->em->persist($event->getUser()); $this->em->persist($notification); $this->em->flush(); } }