/** * @param string $daysOfWeekString indice des jours de la semaine séparé par des ";" * @return Tap[]|null */ public function reverseTransform($daysOfWeekString) { if (empty($daysOfWeekString)) { return array(); } $daysOfWeek = explode(';', $daysOfWeekString); $taps_periode = $this->daysOfWeek->getListJoursTap(); $taps_eleve = $this->manager->getRepository('WCSCantineBundle:Eleve')->findAllTapsForPeriode($this->eleve, $this->daysOfWeek->getPeriode(), true); $taps = array(); foreach ($daysOfWeek as $dayOfWeek) { foreach ($taps_periode[$dayOfWeek] as $date) { // si la réservation est déjà présente, // on se contente de l'ajouter dans la liste // sinon on créé une nouvelle réservation $dateT = new \DateTime($date); $found = false; $tap = null; foreach ($taps_eleve as $current) { if ($current->getDate() == $dateT) { $tap = $current; $found = true; } } if (!$found) { $tap = new Tap(); $tap->setEleve($this->eleve); $tap->setDate($dateT); $tap->setSubscribedByParent(true); $this->manager->persist($tap); } $taps[] = $tap; } } return $taps; }
/** * {@inheritDoc} */ public function load(ObjectManager $manager) { $inscs = [['2016-06-21', 'Dupontel-Jean-Kevin'], ['2016-06-21', 'Dupontel-Kevina'], ['2016-06-21', 'Dupontel-Mathilde'], ['2016-06-21', 'Robert-Mickael'], ['2016-06-21', 'Larissa-Viviane'], ['2016-06-21', 'Larissa-Gaelle'], ['2016-06-21', 'Larissa-Melina'], ['2016-06-21', 'Larissa-Astrid'], ['2016-06-21', 'Veron-Matheos'], ['2016-06-21', 'Veron-Kevin'], ['2016-06-21', 'Batista-Jean'], ['2016-06-23', 'Dupontel-Jean-Kevin'], ['2016-06-23', 'Dupontel-Kevina'], ['2016-06-23', 'Dupontel-Mathilde'], ['2016-06-23', 'Robert-Mickael'], ['2016-06-23', 'Larissa-Viviane'], ['2016-06-23', 'Larissa-Gaelle'], ['2016-06-23', 'Larissa-Melina'], ['2016-06-23', 'Larissa-Astrid'], ['2016-06-23', 'Veron-Matheos'], ['2016-06-23', 'Veron-Kevin'], ['2016-06-23', 'Batista-Jean'], ['2016-06-28', 'Dupontel-Jean-Kevin'], ['2016-06-28', 'Dupontel-Kevina'], ['2016-06-28', 'Dupontel-Mathilde'], ['2016-06-28', 'Robert-Mickael'], ['2016-06-28', 'Larissa-Viviane'], ['2016-06-28', 'Larissa-Gaelle'], ['2016-06-28', 'Larissa-Melina'], ['2016-06-28', 'Larissa-Astrid'], ['2016-06-28', 'Veron-Matheos'], ['2016-06-28', 'Veron-Kevin'], ['2016-06-28', 'Batista-Jean']]; foreach ($inscs as $insc) { $entity = new Tap(); $entity->setDate(new \DateTime($insc[0])); $entity->setStatus('0'); $entity->setEleve($this->getReference($insc[1])); $manager->persist($entity); } $manager->flush(); }