Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
27 / 27
100.00% covered (success)
100.00%
7 / 7
CRAP
100.00% covered (success)
100.00%
1 / 1
Ticketprinter
100.00% covered (success)
100.00%
27 / 27
100.00% covered (success)
100.00%
7 / 7
9
100.00% covered (success)
100.00%
1 / 1
 getOrganisationIdByHash
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getEntityMapping
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
1 / 1
1
 addConditionTicketprinterId
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 addConditionOrganisationId
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 addConditionHash
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 addConditionDeleteInterval
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 reverseEntityMapping
100.00% covered (success)
100.00%
10 / 10
100.00% covered (success)
100.00%
1 / 1
3
1<?php
2
3namespace BO\Zmsdb\Query;
4
5class Ticketprinter extends Base implements MappingInterface
6{
7    /**
8     * @var String TABLE mysql table reference
9     */
10    const TABLE = 'kiosk';
11
12    const PRIMARY = 'hash';
13
14    /**
15     * No resolving required here
16     */
17    protected $resolveLevel = 0;
18
19    public function getOrganisationIdByHash()
20    {
21        return '
22            SELECT organisationsid
23            FROM `kiosk` ticketprinter
24            WHERE ticketprinter.`cookiecode` = :hash';
25    }
26
27    public function getEntityMapping()
28    {
29        return [
30            'enabled' => self::expression('CAST(`ticketprinter`.`zugelassen` AS SIGNED)'),
31            'hash' => 'ticketprinter.cookiecode',
32            'id' => 'ticketprinter.kioskid',
33            'lastUpdate' => 'ticketprinter.timestamp',
34            'name' => 'ticketprinter.name'
35        ];
36    }
37
38    public function addConditionTicketprinterId($ticketprinterId)
39    {
40        $this->query->where('ticketprinter.kioskid', '=', $ticketprinterId);
41        return $this;
42    }
43
44    public function addConditionOrganisationId($organisationId)
45    {
46        $this->query->where('ticketprinter.organisationsid', '=', $organisationId);
47        return $this;
48    }
49
50    public function addConditionHash($hash)
51    {
52        $this->query->where('ticketprinter.cookiecode', '=', $hash);
53        return $this;
54    }
55
56    public function addConditionDeleteInterval($expirationDate)
57    {
58        $this->query->where('ticketprinter.timestamp', '<=', $expirationDate->getTimestamp());
59        return $this;
60    }
61
62    public function reverseEntityMapping(\BO\Zmsentities\Ticketprinter $entity, $organisationId)
63    {
64        $data = array();
65        $data['organisationsid'] = $organisationId;
66        $data['zugelassen'] = ($entity->isEnabled()) ? 1 : 0;
67        $data['cookiecode'] = $entity->getId();
68        $data['timestamp'] = time();
69        $data['name'] = $entity->toProperty()->name->get();
70        $data = array_filter($data, function ($value) {
71            return ($value !== null && $value !== false);
72        });
73        return $data;
74    }
75}