namibia
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
<?php
namespace Stock\Utility;
use \Doctrine\ORM\EntityManager;
use Utility\Debug;
class ImportUtility
{
/**
* @var \Doctrine\ORM\EntityManager
*/
protected $em;
/**
* @param \Doctrine\ORM\EntityManager $em
*/
public function __construct(EntityManager $em)
{
$this->em = $em;
}
/**
* Retrieve database table entry id from search parameters.
* @param string $entityName
* @param array $search
* @return mixed
*/
public function getId($entityName, $search)
{
$item = $this->em
->getRepository($entityName)
->findOneBy($search);
return !is_null($item)
? $item->id
: false;
}
/**
* Retrieve database table entry from search parameters.
* @param string $entityName
* @param array $search
* @return mixed
*/
public function getEntry($entityName, $search)
{
$item = $this->em
->getRepository($entityName)
->findOneBy($search);
return !is_null($item)
? $item
: false;
}
/**
* Create database table entry.
* @param string $entityName
* @param array $data
* @return mixed
*/
public function createEntry($entityName, array $data)
{
$item = new $entityName();
//if($item instanceof \Stock\Entity\Make) {Debug::errorLog("entity", 'stock\entity\make');}
$item->fromArray($data);
$this->em->persist($item);
$this->em->flush();
return $item->id;
}
/**
* Update database table entry.
* @param string $entityName
* @param integer $id
* @param array $data
*/
public function updateEntry($entityName, $id, array $data)
{
$this->em
->getRepository($entityName)
->find($id)
->fromArray($data);
$this->em->flush();
}
/**
* Establish new synchronization version to use.
* @param string $tableName
* @return integer
*/
public function getLatestSynchVersion($tableName)
{
$versions = $this->em->createQuery(
"SELECT MAX(versionedTable.createVersion) AS createVersion,"
. " MAX(versionedTable.updateVersion) AS updateVersion "
. "FROM $tableName versionedTable"
)
->getScalarResult();
return $versions[0]['createVersion'] > $versions[0]['updateVersion']
? (int)$versions[0]['createVersion']
: (int)$versions[0]['updateVersion'];
}
}
|
Revision |
Author |
Commited |
Message |
df0489 ...
|
Mark |
Fri 14 Oct, 2016 10:01:00 +0000 |
|