Code Duplication    Length = 4-4 lines in 8 locations

src/PlaygroundGame/Service/Game.php 8 locations

@@ 99-102 (lines=4) @@
96
97
        // I must switch from original format to the Y-m-d format because
98
        // this is the only one accepted by new DateTime($value)
99
        if (isset($data['publicationDate']) && $data['publicationDate']) {
100
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['publicationDate']);
101
            $data['publicationDate'] = $tmpDate->format('Y-m-d');
102
        }
103
        if (isset($data['startDate']) && $data['startDate']) {
104
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['startDate']);
105
            $data['startDate'] = $tmpDate->format('Y-m-d');
@@ 103-106 (lines=4) @@
100
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['publicationDate']);
101
            $data['publicationDate'] = $tmpDate->format('Y-m-d');
102
        }
103
        if (isset($data['startDate']) && $data['startDate']) {
104
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['startDate']);
105
            $data['startDate'] = $tmpDate->format('Y-m-d');
106
        }
107
        if (isset($data['endDate']) && $data['endDate']) {
108
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['endDate']);
109
            $data['endDate'] = $tmpDate->format('Y-m-d');
@@ 107-110 (lines=4) @@
104
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['startDate']);
105
            $data['startDate'] = $tmpDate->format('Y-m-d');
106
        }
107
        if (isset($data['endDate']) && $data['endDate']) {
108
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['endDate']);
109
            $data['endDate'] = $tmpDate->format('Y-m-d');
110
        }
111
        if (isset($data['closeDate']) && $data['closeDate']) {
112
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['closeDate']);
113
            $data['closeDate'] = $tmpDate->format('Y-m-d');
@@ 111-114 (lines=4) @@
108
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['endDate']);
109
            $data['endDate'] = $tmpDate->format('Y-m-d');
110
        }
111
        if (isset($data['closeDate']) && $data['closeDate']) {
112
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['closeDate']);
113
            $data['closeDate'] = $tmpDate->format('Y-m-d');
114
        }
115
116
        // If publicationDate is null, I update it with the startDate if not null neither
117
        if (! isset($data['publicationDate']) && isset($data['startDate'])) {
@@ 307-310 (lines=4) @@
304
305
        // I must switch from original format to the Y-m-d format because
306
        // this is the only one accepted by new DateTime($value)
307
        if (isset($data['publicationDate']) && $data['publicationDate']) {
308
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['publicationDate']);
309
            $data['publicationDate'] = $tmpDate->format('Y-m-d');
310
        }
311
        if (isset($data['startDate']) && $data['startDate']) {
312
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['startDate']);
313
            $data['startDate'] = $tmpDate->format('Y-m-d');
@@ 311-314 (lines=4) @@
308
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['publicationDate']);
309
            $data['publicationDate'] = $tmpDate->format('Y-m-d');
310
        }
311
        if (isset($data['startDate']) && $data['startDate']) {
312
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['startDate']);
313
            $data['startDate'] = $tmpDate->format('Y-m-d');
314
        }
315
        if (isset($data['endDate']) && $data['endDate']) {
316
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['endDate']);
317
            $data['endDate'] = $tmpDate->format('Y-m-d');
@@ 315-318 (lines=4) @@
312
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['startDate']);
313
            $data['startDate'] = $tmpDate->format('Y-m-d');
314
        }
315
        if (isset($data['endDate']) && $data['endDate']) {
316
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['endDate']);
317
            $data['endDate'] = $tmpDate->format('Y-m-d');
318
        }
319
        if (isset($data['closeDate']) && $data['closeDate']) {
320
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['closeDate']);
321
            $data['closeDate'] = $tmpDate->format('Y-m-d');
@@ 319-322 (lines=4) @@
316
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['endDate']);
317
            $data['endDate'] = $tmpDate->format('Y-m-d');
318
        }
319
        if (isset($data['closeDate']) && $data['closeDate']) {
320
            $tmpDate = \DateTime::createFromFormat('d/m/Y', $data['closeDate']);
321
            $data['closeDate'] = $tmpDate->format('Y-m-d');
322
        }
323
324
        // If publicationDate is null, I update it with the startDate if not nul neither
325
        if ((! isset($data['publicationDate']) || $data['publicationDate'] == '') &&