Code Duplication    Length = 4-4 lines in 8 locations

src/PlaygroundGame/Service/Game.php 8 locations

@@ 97-100 (lines=4) @@
94
        $identifierInput->getValidatorChain()->addValidator($noObjectExistsValidator);
95
96
        // I must switch from original format to the Y-m-d format because this is the only one accepted by new DateTime($value)
97
        if (isset($data['publicationDate']) && $data['publicationDate']) {
98
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['publicationDate']);
99
            $data['publicationDate'] = $tmpDate->format('Y-m-d');
100
        }
101
        if (isset($data['startDate']) && $data['startDate']) {
102
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['startDate']);
103
            $data['startDate'] = $tmpDate->format('Y-m-d');
@@ 101-104 (lines=4) @@
98
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['publicationDate']);
99
            $data['publicationDate'] = $tmpDate->format('Y-m-d');
100
        }
101
        if (isset($data['startDate']) && $data['startDate']) {
102
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['startDate']);
103
            $data['startDate'] = $tmpDate->format('Y-m-d');
104
        }
105
        if (isset($data['endDate']) && $data['endDate']) {
106
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['endDate']);
107
            $data['endDate'] = $tmpDate->format('Y-m-d');
@@ 105-108 (lines=4) @@
102
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['startDate']);
103
            $data['startDate'] = $tmpDate->format('Y-m-d');
104
        }
105
        if (isset($data['endDate']) && $data['endDate']) {
106
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['endDate']);
107
            $data['endDate'] = $tmpDate->format('Y-m-d');
108
        }
109
        if (isset($data['closeDate']) && $data['closeDate']) {
110
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['closeDate']);
111
            $data['closeDate'] = $tmpDate->format('Y-m-d');
@@ 109-112 (lines=4) @@
106
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['endDate']);
107
            $data['endDate'] = $tmpDate->format('Y-m-d');
108
        }
109
        if (isset($data['closeDate']) && $data['closeDate']) {
110
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['closeDate']);
111
            $data['closeDate'] = $tmpDate->format('Y-m-d');
112
        }
113
114
        // If publicationDate is null, I update it with the startDate if not null neither
115
        if (! isset($data['publicationDate']) && isset($data['startDate'])) {
@@ 287-290 (lines=4) @@
284
        }
285
286
        // I must switch from original format to the Y-m-d format because this is the only one accepted by new DateTime($value)
287
        if (isset($data['publicationDate']) && $data['publicationDate']) {
288
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['publicationDate']);
289
            $data['publicationDate'] = $tmpDate->format('Y-m-d');
290
        }
291
        if (isset($data['startDate']) && $data['startDate']) {
292
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['startDate']);
293
            $data['startDate'] = $tmpDate->format('Y-m-d');
@@ 291-294 (lines=4) @@
288
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['publicationDate']);
289
            $data['publicationDate'] = $tmpDate->format('Y-m-d');
290
        }
291
        if (isset($data['startDate']) && $data['startDate']) {
292
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['startDate']);
293
            $data['startDate'] = $tmpDate->format('Y-m-d');
294
        }
295
        if (isset($data['endDate']) && $data['endDate']) {
296
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['endDate']);
297
            $data['endDate'] = $tmpDate->format('Y-m-d');
@@ 295-298 (lines=4) @@
292
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['startDate']);
293
            $data['startDate'] = $tmpDate->format('Y-m-d');
294
        }
295
        if (isset($data['endDate']) && $data['endDate']) {
296
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['endDate']);
297
            $data['endDate'] = $tmpDate->format('Y-m-d');
298
        }
299
        if (isset($data['closeDate']) && $data['closeDate']) {
300
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['closeDate']);
301
            $data['closeDate'] = $tmpDate->format('Y-m-d');
@@ 299-302 (lines=4) @@
296
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['endDate']);
297
            $data['endDate'] = $tmpDate->format('Y-m-d');
298
        }
299
        if (isset($data['closeDate']) && $data['closeDate']) {
300
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['closeDate']);
301
            $data['closeDate'] = $tmpDate->format('Y-m-d');
302
        }
303
304
        // If publicationDate is null, I update it with the startDate if not nul neither
305
        if ((! isset($data['publicationDate']) || $data['publicationDate'] == '') && (isset($data['startDate']) && $data['startDate'] != '')) {