Completed
Pull Request — master (#322)
by Luc
07:29
created

EventCommandFactory::createUpdateCalendarCommand()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 2
1
<?php
2
3
namespace CultuurNet\UDB3\Event\Commands;
4
5
use CultuurNet\UDB3\BookingInfo;
6
use CultuurNet\UDB3\Calendar;
7
use CultuurNet\UDB3\ContactPoint;
8
use CultuurNet\UDB3\Description;
9
use CultuurNet\UDB3\Event\Commands\Moderation\Approve;
10
use CultuurNet\UDB3\Event\Commands\Moderation\FlagAsDuplicate;
11
use CultuurNet\UDB3\Event\Commands\Moderation\FlagAsInappropriate;
12
use CultuurNet\UDB3\Event\Commands\Moderation\Reject;
13
use CultuurNet\UDB3\Label;
14
use CultuurNet\UDB3\Language;
15
use CultuurNet\UDB3\Media\Image;
16
use CultuurNet\UDB3\Offer\AgeRange;
17
use CultuurNet\UDB3\Offer\Commands\AbstractAddLabel;
18
use CultuurNet\UDB3\Offer\Commands\AbstractRemoveLabel;
19
use CultuurNet\UDB3\Offer\Commands\AbstractDeleteOffer;
20
use CultuurNet\UDB3\Offer\Commands\AbstractDeleteOrganizer;
21
use CultuurNet\UDB3\Offer\Commands\AbstractDeleteTypicalAgeRange;
22
use CultuurNet\UDB3\Offer\Commands\AbstractTranslateTitle;
23
use CultuurNet\UDB3\Offer\Commands\AbstractUpdateBookingInfo;
24
use CultuurNet\UDB3\Offer\Commands\AbstractUpdateContactPoint;
25
use CultuurNet\UDB3\Offer\Commands\AbstractUpdateDescription;
26
use CultuurNet\UDB3\Offer\Commands\AbstractUpdateOrganizer;
27
use CultuurNet\UDB3\Offer\Commands\AbstractUpdateTypicalAgeRange;
28
use CultuurNet\UDB3\Offer\Commands\OfferCommandFactoryInterface;
29
use CultuurNet\UDB3\PriceInfo\PriceInfo;
30
use ValueObjects\Identity\UUID;
31
use ValueObjects\StringLiteral\StringLiteral;
32
33
class EventCommandFactory implements OfferCommandFactoryInterface
34
{
35
    /**
36
     * @param $id
37
     * @param Label $label
38
     * @return AbstractAddLabel
39
     */
40
    public function createAddLabelCommand($id, Label $label)
41
    {
42
        return new AddLabel($id, $label);
43
    }
44
45
    /**
46
     * @param $id
47
     * @param Label $label
48
     * @return AbstractRemoveLabel
49
     */
50
    public function createRemoveLabelCommand($id, Label $label)
51
    {
52
        return new RemoveLabel($id, $label);
53
    }
54
55
    /**
56
     * @param $id
57
     * @param Image $image
58
     * @return AddImage
59
     */
60
    public function createAddImageCommand($id, Image $image)
61
    {
62
        return new AddImage($id, $image);
63
    }
64
65
    /**
66
     * @param $id
67
     * @param Image $image
68
     * @return RemoveImage
69
     */
70
    public function createRemoveImageCommand($id, Image $image)
71
    {
72
        return new RemoveImage($id, $image);
73
    }
74
75
    /**
76
     * @param $id
77
     * @param UUID $mediaObjectId
78
     * @param StringLiteral $description
79
     * @param StringLiteral $copyrightHolder
80
     * @return UpdateImage
81
     */
82
    public function createUpdateImageCommand(
83
        $id,
84
        UUID $mediaObjectId,
85
        StringLiteral $description,
86
        StringLiteral $copyrightHolder
87
    ) {
88
        return new UpdateImage(
89
            $id,
90
            $mediaObjectId,
91
            $description,
92
            $copyrightHolder
93
        );
94
    }
95
96
    /**
97
     * @param $id
98
     * @param Image $image
99
     * @return SelectMainImage
100
     */
101
    public function createSelectMainImageCommand($id, Image $image)
102
    {
103
        return new SelectMainImage($id, $image);
104
    }
105
106
    /**
107
     * @param $id
108
     * @param Language $language
109
     * @param StringLiteral $title
110
     * @return AbstractTranslateTitle
111
     */
112
    public function createTranslateTitleCommand($id, Language $language, StringLiteral $title)
113
    {
114
        return new TranslateTitle($id, $language, $title);
115
    }
116
117
    /**
118
     * @param $id
119
     * @param Language $language
120
     * @param Description $description
121
     * @return AbstractUpdateDescription
122
     */
123
    public function createUpdateDescriptionCommand($id, Language $language, Description $description)
124
    {
125
        return new UpdateDescription($id, $language, $description);
126
    }
127
128
    /**
129
     * @inheritdoc
130
     */
131
    public function createUpdateCalendarCommand($id, Calendar $calendar)
132
    {
133
        return new UpdateCalendar($id, $calendar);
134
    }
135
136
    /**
137
     * @param string $id
138
     * @param AgeRange $ageRange
139
     * @return AbstractUpdateTypicalAgeRange
140
     */
141
    public function createUpdateTypicalAgeRangeCommand($id, AgeRange $ageRange)
142
    {
143
        return new UpdateTypicalAgeRange($id, $ageRange);
144
    }
145
146
    /**
147
     * @param string $id
148
     * @return AbstractDeleteTypicalAgeRange
149
     */
150
    public function createDeleteTypicalAgeRangeCommand($id)
151
    {
152
        return new DeleteTypicalAgeRange($id);
153
    }
154
155
    /**
156
     * @param string $id
157
     * @param string $organizerId
158
     * @return AbstractUpdateOrganizer
159
     */
160
    public function createUpdateOrganizerCommand($id, $organizerId)
161
    {
162
        return new UpdateOrganizer($id, $organizerId);
163
    }
164
165
    /**
166
     * @param string $id
167
     * @param string $organizerId
168
     * @return AbstractDeleteOrganizer
169
     */
170
    public function createDeleteOrganizerCommand($id, $organizerId)
171
    {
172
        return new DeleteOrganizer($id, $organizerId);
173
    }
174
175
    /**
176
     * @param string $id
177
     * @param ContactPoint $contactPoint
178
     * @return AbstractUpdateContactPoint
179
     */
180
    public function createUpdateContactPointCommand($id, ContactPoint $contactPoint)
181
    {
182
        return new UpdateContactPoint($id, $contactPoint);
183
    }
184
185
    /**
186
     * @param string $id
187
     * @param BookingInfo $bookingInfo
188
     * @return AbstractUpdateBookingInfo
189
     */
190
    public function createUpdateBookingInfoCommand($id, BookingInfo $bookingInfo)
191
    {
192
        return new UpdateBookingInfo($id, $bookingInfo);
193
    }
194
195
    /**
196
     * @param $id
197
     * @param PriceInfo $priceInfo
198
     * @return UpdatePriceInfo
199
     */
200
    public function createUpdatePriceInfoCommand($id, PriceInfo $priceInfo)
201
    {
202
        return new UpdatePriceInfo($id, $priceInfo);
203
    }
204
205
    /**
206
     * @param string $id
207
     * @return AbstractDeleteOffer
208
     */
209
    public function createDeleteOfferCommand($id)
210
    {
211
        return new DeleteEvent($id);
212
    }
213
214
    /**
215
     * @param string $id
216
     * @return Approve
217
     */
218
    public function createApproveCommand($id)
219
    {
220
        return new Approve($id);
221
    }
222
223
    /**
224
     * @param string $id
225
     * @param StringLiteral $reason
226
     * @return Reject
227
     */
228
    public function createRejectCommand($id, StringLiteral $reason)
229
    {
230
        return new Reject($id, $reason);
231
    }
232
233
    /**
234
     * @param string $id
235
     * @return FlagAsInappropriate
236
     */
237
    public function createFlagAsInappropriate($id)
238
    {
239
        return new FlagAsInappropriate($id);
240
    }
241
242
    /**
243
     * @param string $id
244
     * @return FlagAsDuplicate
245
     */
246
    public function createFlagAsDuplicate($id)
247
    {
248
        return new FlagAsDuplicate($id);
249
    }
250
}
251