Completed
Pull Request — master (#328)
by
unknown
07:15
created

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