SkillInTrainingUpdater::update()   B
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 27
Code Lines 20

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
dl 0
loc 27
rs 8.8571
c 1
b 0
f 1
cc 2
eloc 20
nc 2
nop 3
1
<?php
2
namespace Tarioch\EveapiFetcherBundle\Component\EveApi\Char;
3
4
use JMS\DiExtraBundle\Annotation as DI;
5
use Tarioch\EveapiFetcherBundle\Entity\ApiCall;
6
use Pheal\Pheal;
7
use Tarioch\EveapiFetcherBundle\Entity\ApiKey;
8
use Tarioch\EveapiFetcherBundle\Entity\CharSkillInTraining;
9
10
/**
11
 * @DI\Service("tarioch.eveapi.char.SkillInTraining")
12
 * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
13
 */
14
class SkillInTrainingUpdater extends AbstractCharUpdater
15
{
16
    /**
17
     * @inheritdoc
18
     */
19
    public function update(ApiCall $call, ApiKey $key, Pheal $pheal)
20
    {
21
        $charId = $call->getOwner()->getCharacterId();
22
23
        $api = $pheal->charScope->SkillInTraining(array('characterID' => $charId));
24
25
        $entity = new CharSkillInTraining($charId);
26
        $skillInTraining = $api->skillInTraining;
27
        $entity->setSkillInTraining($skillInTraining);
28
        if ($skillInTraining) {
29
            $entity->setTrainingStartTime(new \DateTime($api->trainingStartTime));
30
            $entity->setTrainingEndTime(new \DateTime($api->trainingEndTime));
31
            $entity->setTrainingTypeId($api->trainingTypeID);
32
            $entity->setTrainingStartSp($api->trainingStartSP);
33
            $entity->setTrainingDestinationSp($api->trainingDestinationSP);
34
            $entity->setTrainingToLevel($api->trainingToLevel);
35
        }
36
37
        $query = 'delete from TariochEveapiFetcherBundle:CharSkillInTraining c where c.characterId=:characterId';
38
        $this->entityManager
39
            ->createQuery($query)
40
            ->setParameter('characterId', $charId)
41
            ->execute();
42
43
        $this->entityManager->persist($entity);
44
        return $api->cached_until;
45
    }
46
}
47