public function getPopulateRate(Base $base) { $em = $this->container->get('doctrine')->getManager(); $results = $em->getRepository('ApplicationSonataUserBundle:BaseDetail')->countBaseDetailByIdBase($base->getId()); $uploadRate = $results * 100 / $base->getRowCount(); return round($uploadRate, 2); }
protected function sendMatching(Base $base) { // Apres la persistance/update d'une campagne $idArray = array(); // On recupere l'ensemble des bases actives $em = $this->getDoctrine(); $campaigns = $em->getRepository('ApplicationSonataUserBundle:Campaign')->findActiveCampaign(); if (null == $campaigns) { return; } else { // Pour chaque base on recupere son id foreach ($campaigns as $campaign) { $id = $campaign['id']; array_push($idArray, $id); } // On récupère le service qui va envoyer le match $sendMatching = $this->container->get('match_exchange_sender'); $sendMatching->sendDB($base->getId(), $idArray, 'campaign'); } }
/** * @param boolean $updateAction * @param Base $base */ protected function populateBaseDetail($base) { $file = $base->getPath(); $em = $this->getConfigurationPool()->getContainer()->get('doctrine')->getEntityManager(); // Si un fichier à été soumis durant le formulaire if (null !== $file) { // On récupère le service qui va envoyer le populate $sendMatching = $this->getConfigurationPool()->getContainer()->get('populate_exchange_sender'); $responsePopulate = $sendMatching->send($file, $base->getId()); // Si le service renvoi une valeur null if (null !== $responsePopulate) { // Sinon on incremente le nombre de ligne par le nombre de ligne du fichier $base->setRowCount($responsePopulate); // Et on envoi les données $em->flush(); } else { $em->remove($base); $em->flush(); $this->setFlash('sonata_user_error', 'upload.flash.error'); //throw new AdminException("Problème dans l'import du fichier CSV: $file, veuillez enregistrer un fichier valide"); } } }