cAccount::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 11
ccs 0
cts 11
cp 0
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 9
nc 1
nop 8
crap 2

How to fix   Many Parameters   

Many Parameters

Methods with many parameters are not only hard to understand, but their parameters also often become inconsistent when you need more, or different data.

There are several approaches to avoid long parameter lists:

1
<?php
2
3
namespace Gueststream\PMS\IQWare\API;
4
5
class cAccount
6
{
7
8
    /**
9
     * @var \DateTime $CreationDate
10
     */
11
    protected $CreationDate = null;
12
13
    /**
14
     * @var ArrayOfCCreditCard $CreditCard
15
     */
16
    protected $CreditCard = null;
17
18
    /**
19
     * @var string $Voucher
20
     */
21
    protected $Voucher = null;
22
23
    /**
24
     * @var ArrayOfInt $SvcCharges
25
     */
26
    protected $SvcCharges = null;
27
28
    /**
29
     * @var ArrayOfCFolioDist $FolioDist
30
     */
31
    protected $FolioDist = null;
32
33
    /**
34
     * @var ArrayOfCTransfer $Transfer
35
     */
36
    protected $Transfer = null;
37
38
    /**
39
     * @var boolean $IsGuaranteed
40
     */
41
    protected $IsGuaranteed = null;
42
43
    /**
44
     * @var int $ID_GuaranteeType
45
     */
46
    protected $ID_GuaranteeType = null;
47
48
    /**
49
     * @var boolean $IsCashOnly
50
     */
51
    protected $IsCashOnly = null;
52
53
    /**
54
     * @var int $ID_CreditLimit
55
     */
56
    protected $ID_CreditLimit = null;
57
58
    /**
59
     * @var int $ID_TaxExemption
60
     */
61
    protected $ID_TaxExemption = null;
62
63
    /**
64
     * @var string $TaxNo
65
     */
66
    protected $TaxNo = null;
67
68
    /**
69
     * @var string $TaxNo2
70
     */
71
    protected $TaxNo2 = null;
72
73
    /**
74
     * @var int $PhoneRestrictionLevel
75
     */
76
    protected $PhoneRestrictionLevel = null;
77
78
    /**
79
     * @var boolean $IsCpyAR
80
     */
81
    protected $IsCpyAR = null;
82
83
    /**
84
     * @param \DateTime $CreationDate
85
     * @param boolean $IsGuaranteed
86
     * @param int $ID_GuaranteeType
87
     * @param boolean $IsCashOnly
88
     * @param int $ID_CreditLimit
89
     * @param int $ID_TaxExemption
90
     * @param int $PhoneRestrictionLevel
91
     * @param boolean $IsCpyAR
92
     */
93
    public function __construct(\DateTime $CreationDate, $IsGuaranteed, $ID_GuaranteeType, $IsCashOnly, $ID_CreditLimit, $ID_TaxExemption, $PhoneRestrictionLevel, $IsCpyAR)
94
    {
95
        $this->CreationDate = $CreationDate->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $CreationDate->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $CreationDate.

Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..

Loading history...
96
        $this->IsGuaranteed = $IsGuaranteed;
97
        $this->ID_GuaranteeType = $ID_GuaranteeType;
98
        $this->IsCashOnly = $IsCashOnly;
99
        $this->ID_CreditLimit = $ID_CreditLimit;
100
        $this->ID_TaxExemption = $ID_TaxExemption;
101
        $this->PhoneRestrictionLevel = $PhoneRestrictionLevel;
102
        $this->IsCpyAR = $IsCpyAR;
103
    }
104
105
    /**
106
     * @return \DateTime
107
     */
108
    public function getCreationDate()
109
    {
110
        if ($this->CreationDate == null) {
111
            return null;
112
        } else {
113
            try {
114
                return new \DateTime($this->CreationDate);
115
            } catch (\Exception $e) {
116
                return false;
117
            }
118
        }
119
    }
120
121
    /**
122
     * @param \DateTime $CreationDate
123
     * @return \Gueststream\PMS\IQWare\API\cAccount
124
     */
125
    public function setCreationDate(\DateTime $CreationDate)
126
    {
127
        $this->CreationDate = $CreationDate->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $CreationDate->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $CreationDate.

Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..

Loading history...
128
        return $this;
129
    }
130
131
    /**
132
     * @return ArrayOfCCreditCard
133
     */
134
    public function getCreditCard()
135
    {
136
        return $this->CreditCard;
137
    }
138
139
    /**
140
     * @param ArrayOfCCreditCard $CreditCard
141
     * @return \Gueststream\PMS\IQWare\API\cAccount
142
     */
143
    public function setCreditCard($CreditCard)
144
    {
145
        $this->CreditCard = $CreditCard;
146
        return $this;
147
    }
148
149
    /**
150
     * @return string
151
     */
152
    public function getVoucher()
153
    {
154
        return $this->Voucher;
155
    }
156
157
    /**
158
     * @param string $Voucher
159
     * @return \Gueststream\PMS\IQWare\API\cAccount
160
     */
161
    public function setVoucher($Voucher)
162
    {
163
        $this->Voucher = $Voucher;
164
        return $this;
165
    }
166
167
    /**
168
     * @return ArrayOfInt
169
     */
170
    public function getSvcCharges()
171
    {
172
        return $this->SvcCharges;
173
    }
174
175
    /**
176
     * @param ArrayOfInt $SvcCharges
177
     * @return \Gueststream\PMS\IQWare\API\cAccount
178
     */
179
    public function setSvcCharges($SvcCharges)
180
    {
181
        $this->SvcCharges = $SvcCharges;
182
        return $this;
183
    }
184
185
    /**
186
     * @return ArrayOfCFolioDist
187
     */
188
    public function getFolioDist()
189
    {
190
        return $this->FolioDist;
191
    }
192
193
    /**
194
     * @param ArrayOfCFolioDist $FolioDist
195
     * @return \Gueststream\PMS\IQWare\API\cAccount
196
     */
197
    public function setFolioDist($FolioDist)
198
    {
199
        $this->FolioDist = $FolioDist;
200
        return $this;
201
    }
202
203
    /**
204
     * @return ArrayOfCTransfer
205
     */
206
    public function getTransfer()
207
    {
208
        return $this->Transfer;
209
    }
210
211
    /**
212
     * @param ArrayOfCTransfer $Transfer
213
     * @return \Gueststream\PMS\IQWare\API\cAccount
214
     */
215
    public function setTransfer($Transfer)
216
    {
217
        $this->Transfer = $Transfer;
218
        return $this;
219
    }
220
221
    /**
222
     * @return boolean
223
     */
224
    public function getIsGuaranteed()
225
    {
226
        return $this->IsGuaranteed;
227
    }
228
229
    /**
230
     * @param boolean $IsGuaranteed
231
     * @return \Gueststream\PMS\IQWare\API\cAccount
232
     */
233
    public function setIsGuaranteed($IsGuaranteed)
234
    {
235
        $this->IsGuaranteed = $IsGuaranteed;
236
        return $this;
237
    }
238
239
    /**
240
     * @return int
241
     */
242
    public function getID_GuaranteeType()
243
    {
244
        return $this->ID_GuaranteeType;
245
    }
246
247
    /**
248
     * @param int $ID_GuaranteeType
249
     * @return \Gueststream\PMS\IQWare\API\cAccount
250
     */
251
    public function setID_GuaranteeType($ID_GuaranteeType)
252
    {
253
        $this->ID_GuaranteeType = $ID_GuaranteeType;
254
        return $this;
255
    }
256
257
    /**
258
     * @return boolean
259
     */
260
    public function getIsCashOnly()
261
    {
262
        return $this->IsCashOnly;
263
    }
264
265
    /**
266
     * @param boolean $IsCashOnly
267
     * @return \Gueststream\PMS\IQWare\API\cAccount
268
     */
269
    public function setIsCashOnly($IsCashOnly)
270
    {
271
        $this->IsCashOnly = $IsCashOnly;
272
        return $this;
273
    }
274
275
    /**
276
     * @return int
277
     */
278
    public function getID_CreditLimit()
279
    {
280
        return $this->ID_CreditLimit;
281
    }
282
283
    /**
284
     * @param int $ID_CreditLimit
285
     * @return \Gueststream\PMS\IQWare\API\cAccount
286
     */
287
    public function setID_CreditLimit($ID_CreditLimit)
288
    {
289
        $this->ID_CreditLimit = $ID_CreditLimit;
290
        return $this;
291
    }
292
293
    /**
294
     * @return int
295
     */
296
    public function getID_TaxExemption()
297
    {
298
        return $this->ID_TaxExemption;
299
    }
300
301
    /**
302
     * @param int $ID_TaxExemption
303
     * @return \Gueststream\PMS\IQWare\API\cAccount
304
     */
305
    public function setID_TaxExemption($ID_TaxExemption)
306
    {
307
        $this->ID_TaxExemption = $ID_TaxExemption;
308
        return $this;
309
    }
310
311
    /**
312
     * @return string
313
     */
314
    public function getTaxNo()
315
    {
316
        return $this->TaxNo;
317
    }
318
319
    /**
320
     * @param string $TaxNo
321
     * @return \Gueststream\PMS\IQWare\API\cAccount
322
     */
323
    public function setTaxNo($TaxNo)
324
    {
325
        $this->TaxNo = $TaxNo;
326
        return $this;
327
    }
328
329
    /**
330
     * @return string
331
     */
332
    public function getTaxNo2()
333
    {
334
        return $this->TaxNo2;
335
    }
336
337
    /**
338
     * @param string $TaxNo2
339
     * @return \Gueststream\PMS\IQWare\API\cAccount
340
     */
341
    public function setTaxNo2($TaxNo2)
342
    {
343
        $this->TaxNo2 = $TaxNo2;
344
        return $this;
345
    }
346
347
    /**
348
     * @return int
349
     */
350
    public function getPhoneRestrictionLevel()
351
    {
352
        return $this->PhoneRestrictionLevel;
353
    }
354
355
    /**
356
     * @param int $PhoneRestrictionLevel
357
     * @return \Gueststream\PMS\IQWare\API\cAccount
358
     */
359
    public function setPhoneRestrictionLevel($PhoneRestrictionLevel)
360
    {
361
        $this->PhoneRestrictionLevel = $PhoneRestrictionLevel;
362
        return $this;
363
    }
364
365
    /**
366
     * @return boolean
367
     */
368
    public function getIsCpyAR()
369
    {
370
        return $this->IsCpyAR;
371
    }
372
373
    /**
374
     * @param boolean $IsCpyAR
375
     * @return \Gueststream\PMS\IQWare\API\cAccount
376
     */
377
    public function setIsCpyAR($IsCpyAR)
378
    {
379
        $this->IsCpyAR = $IsCpyAR;
380
        return $this;
381
    }
382
}
383