initial commit
[namibia] / module / Stock / src / Stock / Entity / StockImages.php
1 <?php
2 namespace Stock\Entity;
3
4 use Doctrine\ORM\Mapping as ORM;
5
6
7
8 /**
9  * @ORM\Entity
10  * @ORM\Table(name="stock_images")
11  */
12 class StockImages
13 {
14
15         /**
16          * Can archive records.
17          */
18         const ARCHIVE = true;
19         /**
20          * Pull Synchronization Strategy for this table.
21          */
22         const PULL_SYNCH_STRATEGY = false;
23         /**
24          * Push Synchronization Strategy for this table.
25          */
26         const PUSH_SYNCH_STRATEGY = false;
27
28
29         /**
30          * @ORM\Id
31          * @ORM\Column(type="integer");
32          * @ORM\GeneratedValue(strategy="AUTO")
33          */
34         protected $id;
35
36         /**
37          * @ORM\ManyToOne(targetEntity="Stock", inversedBy="accessories")
38          * @ORM\JoinColumn(name="stock_id", referencedColumnName="id")
39          **/
40         protected $stock;
41
42         /**
43          * @ORM\ManyToOne(targetEntity="\Utility\Entity\Image")
44          * @ORM\JoinColumn(nullable=true, name="main_lib_photo_id")
45          **/
46         protected $mainImage;
47         /**
48          * @ORM\Column(type="string", nullable=true, length=255, name="main_url");
49          */
50         protected $mainImageUrl;
51
52         /**
53          * @ORM\ManyToOne(targetEntity="\Utility\Entity\Image")
54          * @ORM\JoinColumn(nullable=true, name="front_lib_photo_id")
55          **/
56         protected $frontImage;
57         /**
58          * @ORM\Column(type="string", nullable=true, length=255, name="front_url");
59          */
60         protected $frontImageUrl;
61
62         /**
63          * @ORM\ManyToOne(targetEntity="\Utility\Entity\Image")
64          * @ORM\JoinColumn(nullable=true, name="right_lib_photo_id")
65          **/
66         protected $rightImage;
67         /**
68          * @ORM\Column(type="string", nullable=true, length=255, name="right_url");
69          */
70         protected $rightImageUrl;
71
72         /**
73          * @ORM\ManyToOne(targetEntity="\Utility\Entity\Image")
74          * @ORM\JoinColumn(nullable=true, name="left_lib_photo_id")
75          **/
76         protected $leftImage;
77         /**
78          * @ORM\Column(type="string", nullable=true, length=255, name="left_url");
79          */
80         protected $leftImageUrl;
81
82         /**
83          * @ORM\ManyToOne(targetEntity="\Utility\Entity\Image")
84          * @ORM\JoinColumn(nullable=true, name="back_lib_photo_id")
85          **/
86         protected $backImage;
87         /**
88          * @ORM\Column(type="string", nullable=true, length=255, name="back_url");
89          */
90         protected $backImageUrl;
91
92         /**
93          * @ORM\ManyToOne(targetEntity="\Utility\Entity\Image")
94          * @ORM\JoinColumn(nullable=true, name="interior_lib_photo_id")
95          **/
96         protected $interiorImage;
97         /**
98          * @ORM\Column(type="string", nullable=true, length=255, name="interior_url");
99          */
100         protected $interiorImageUrl;
101
102         /**
103          * @ORM\ManyToOne(targetEntity="\Utility\Entity\Image")
104          * @ORM\JoinColumn(nullable=true, name="engine_lib_photo_id")
105          **/
106         protected $engineImage;
107         /**
108          * @ORM\Column(type="string", nullable=true, length=255, name="engine_url");
109          */
110         protected $engineImageUrl;
111
112         /**
113          * @ORM\ManyToOne(targetEntity="\Utility\Entity\Image")
114          * @ORM\JoinColumn(nullable=true, name="natis_lib_photo_id")
115          **/
116         protected $natisImage;
117         /**
118          * @ORM\Column(type="string", nullable=true, length=255, name="natis_url");
119          */
120         protected $natisImageUrl;
121
122         /**
123          * @ORM\Column(type="boolean");
124          */
125         protected $archived = false;
126
127
128
129         /**
130          * Magic getter to expose protected properties.
131          * @param string $property
132          * @return mixed
133          */
134         public function __get($property)
135         {
136                 return $this->$property;
137         }
138
139         /**
140          * Magic setter to save protected properties.
141          * @param string $property
142          * @param mixed $value
143          */
144         public function __set($property, $value)
145         {
146                 $this->$property = $value;
147         }
148
149         /**
150          * Convert the object to an array.
151          * @param array $expand
152          * @param array $intersect
153          * @return array
154          */
155         public function toArray(
156                         array $expand = array(), array $intersect = array(), $showIdentifiers = false
157                         )
158         {
159                 $includeAll = empty($intersect);
160                 $data = array();
161                 ($includeAll || isset($intersect['id']))
162                         && $data['id'] = $this->id;
163                 ($includeAll || isset($intersect['accessory']))
164                         && $data['accessory'] = $showIdentifiers
165                                                                         ? $this->accessory->id
166                                                                         : $this->accessory->toArray();
167                 return $data;
168         }
169
170         /**
171          * Populate from an array.
172          * @param array $data
173          */
174         public function fromArray($data = array())
175         {
176                 isset($data['id'])
177                         && $this->id = $data['id'];
178                 isset($data['stock'])
179                         && $this->stock  = $data['stock'];
180                 isset($data['mainImage'])
181                         && $this->mainImage  = $data['mainImage'];
182                 isset($data['mainImageUrl'])
183                         && $this->mainImageUrl  = $data['mainImageUrl'];
184                 isset($data['frontImage'])
185                         && $this->frontImage  = $data['frontImage'];
186                 isset($data['frontImageUrl'])
187                         && $this->frontImageUrl  = $data['frontImageUrl'];
188                 isset($data['rightImage'])
189                         && $this->rightImage  = $data['rightImage'];
190                 isset($data['rightImageUrl'])
191                         && $this->rightImageUrl  = $data['rightImageUrl'];
192                 isset($data['leftImage'])
193                         && $this->leftImage  = $data['leftImage'];
194                 isset($data['leftImageUrl'])
195                         && $this->leftImageUrl  = $data['leftImageUrl'];
196                 isset($data['backImage'])
197                         && $this->backImage  = $data['backImage'];
198                 isset($data['backImageUrl'])
199                         && $this->backImageUrl  = $data['backImageUrl'];
200                 isset($data['interiorImage'])
201                         && $this->interiorImage  = $data['interiorImage'];
202                 isset($data['interiorImageUrl'])
203                         && $this->interiorImageUrl  = $data['interiorImageUrl'];
204                 isset($data['engineImage'])
205                         && $this->engineImage  = $data['engineImage'];
206                 isset($data['engineImageUrl'])
207                         && $this->engineImageUrl  = $data['engineImageUrl'];
208                 isset($data['natisImage'])
209                         && $this->natisImage  = $data['natisImage'];
210                 isset($data['natisImageUrl'])
211                         && $this->natisImageUrl  = $data['natisImageUrl'];
212         }
213
214 }