WebRes_GetRatesAndPricesOwnerGuest::__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 WebRes_GetRatesAndPricesOwnerGuest
6
{
7
8
    /**
9
     * @var int $PropertyGUID
10
     */
11
    protected $PropertyGUID = null;
12
13
    /**
14
     * @var \DateTime $ArrivalDate
15
     */
16
    protected $ArrivalDate = null;
17
18
    /**
19
     * @var \DateTime $DepartureDate
20
     */
21
    protected $DepartureDate = null;
22
23
    /**
24
     * @var int $RoomTypeID
25
     */
26
    protected $RoomTypeID = null;
27
28
    /**
29
     * @var int $GuestCount
30
     */
31
    protected $GuestCount = null;
32
33
    /**
34
     * @var string $strISOLanguage
35
     */
36
    protected $strISOLanguage = null;
37
38
    /**
39
     * @var string $strChildren
40
     */
41
    protected $strChildren = null;
42
43
    /**
44
     * @var TAccountType $TAccountType
45
     */
46
    protected $TAccountType = null;
47
48
    /**
49
     * @param int $PropertyGUID
50
     * @param \DateTime $ArrivalDate
51
     * @param \DateTime $DepartureDate
52
     * @param int $RoomTypeID
53
     * @param int $GuestCount
54
     * @param string $strISOLanguage
55
     * @param string $strChildren
56
     * @param TAccountType $TAccountType
57
     */
58
    public function __construct($PropertyGUID, \DateTime $ArrivalDate, \DateTime $DepartureDate, $RoomTypeID, $GuestCount, $strISOLanguage, $strChildren, $TAccountType)
59
    {
60
        $this->PropertyGUID = $PropertyGUID;
61
        $this->ArrivalDate = $ArrivalDate->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $ArrivalDate->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $ArrivalDate.

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...
62
        $this->DepartureDate = $DepartureDate->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $DepartureDate->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $DepartureDate.

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...
63
        $this->RoomTypeID = $RoomTypeID;
64
        $this->GuestCount = $GuestCount;
65
        $this->strISOLanguage = $strISOLanguage;
66
        $this->strChildren = $strChildren;
67
        $this->TAccountType = $TAccountType;
68
    }
69
70
    /**
71
     * @return int
72
     */
73
    public function getPropertyGUID()
74
    {
75
        return $this->PropertyGUID;
76
    }
77
78
    /**
79
     * @param int $PropertyGUID
80
     * @return \Gueststream\PMS\IQWare\API\WebRes_GetRatesAndPricesOwnerGuest
81
     */
82
    public function setPropertyGUID($PropertyGUID)
83
    {
84
        $this->PropertyGUID = $PropertyGUID;
85
        return $this;
86
    }
87
88
    /**
89
     * @return \DateTime
90
     */
91
    public function getArrivalDate()
92
    {
93
        if ($this->ArrivalDate == null) {
94
            return null;
95
        } else {
96
            try {
97
                return new \DateTime($this->ArrivalDate);
98
            } catch (\Exception $e) {
99
                return false;
100
            }
101
        }
102
    }
103
104
    /**
105
     * @param \DateTime $ArrivalDate
106
     * @return \Gueststream\PMS\IQWare\API\WebRes_GetRatesAndPricesOwnerGuest
107
     */
108
    public function setArrivalDate(\DateTime $ArrivalDate)
109
    {
110
        $this->ArrivalDate = $ArrivalDate->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $ArrivalDate->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $ArrivalDate.

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...
111
        return $this;
112
    }
113
114
    /**
115
     * @return \DateTime
116
     */
117
    public function getDepartureDate()
118
    {
119
        if ($this->DepartureDate == null) {
120
            return null;
121
        } else {
122
            try {
123
                return new \DateTime($this->DepartureDate);
124
            } catch (\Exception $e) {
125
                return false;
126
            }
127
        }
128
    }
129
130
    /**
131
     * @param \DateTime $DepartureDate
132
     * @return \Gueststream\PMS\IQWare\API\WebRes_GetRatesAndPricesOwnerGuest
133
     */
134
    public function setDepartureDate(\DateTime $DepartureDate)
135
    {
136
        $this->DepartureDate = $DepartureDate->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $DepartureDate->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $DepartureDate.

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...
137
        return $this;
138
    }
139
140
    /**
141
     * @return int
142
     */
143
    public function getRoomTypeID()
144
    {
145
        return $this->RoomTypeID;
146
    }
147
148
    /**
149
     * @param int $RoomTypeID
150
     * @return \Gueststream\PMS\IQWare\API\WebRes_GetRatesAndPricesOwnerGuest
151
     */
152
    public function setRoomTypeID($RoomTypeID)
153
    {
154
        $this->RoomTypeID = $RoomTypeID;
155
        return $this;
156
    }
157
158
    /**
159
     * @return int
160
     */
161
    public function getGuestCount()
162
    {
163
        return $this->GuestCount;
164
    }
165
166
    /**
167
     * @param int $GuestCount
168
     * @return \Gueststream\PMS\IQWare\API\WebRes_GetRatesAndPricesOwnerGuest
169
     */
170
    public function setGuestCount($GuestCount)
171
    {
172
        $this->GuestCount = $GuestCount;
173
        return $this;
174
    }
175
176
    /**
177
     * @return string
178
     */
179
    public function getStrISOLanguage()
180
    {
181
        return $this->strISOLanguage;
182
    }
183
184
    /**
185
     * @param string $strISOLanguage
186
     * @return \Gueststream\PMS\IQWare\API\WebRes_GetRatesAndPricesOwnerGuest
187
     */
188
    public function setStrISOLanguage($strISOLanguage)
189
    {
190
        $this->strISOLanguage = $strISOLanguage;
191
        return $this;
192
    }
193
194
    /**
195
     * @return string
196
     */
197
    public function getStrChildren()
198
    {
199
        return $this->strChildren;
200
    }
201
202
    /**
203
     * @param string $strChildren
204
     * @return \Gueststream\PMS\IQWare\API\WebRes_GetRatesAndPricesOwnerGuest
205
     */
206
    public function setStrChildren($strChildren)
207
    {
208
        $this->strChildren = $strChildren;
209
        return $this;
210
    }
211
212
    /**
213
     * @return TAccountType
214
     */
215
    public function getTAccountType()
216
    {
217
        return $this->TAccountType;
218
    }
219
220
    /**
221
     * @param TAccountType $TAccountType
222
     * @return \Gueststream\PMS\IQWare\API\WebRes_GetRatesAndPricesOwnerGuest
223
     */
224
    public function setTAccountType($TAccountType)
225
    {
226
        $this->TAccountType = $TAccountType;
227
        return $this;
228
    }
229
}
230