public function addApproAutre(request $request, $idFournisseur) { if ($request->get('option') !== null) { $doctrine = $this->doctrine; $fournisseur = $doctrine->getRepository('ICApprovisionnementBundle:Fournisseur')->findOneBy(array('id' => $idFournisseur)); $appro = new Appro(); $appro->setFournisseur($fournisseur); $appro->setTypeProduit($fournisseur->getType()); $appro->setDateCommande(new \Datetime()); $doctrine->persist($appro); $doctrine->flush(); $lastAppro = $doctrine->getRepository('ICApprovisionnementBundle:Appro')->getLastAppro(); if ($fournisseur->getType() == 4) { foreach ($request->get('option') as $idAutre) { $autre = $doctrine->getRepository('ICApprovisionnementBundle:Autre')->findOneBy(array('id' => $idAutre)); $approAutre = new ApproAutre(); $approAutre->setAutre($autre); $approAutre->setQuantite($request->get($idAutre)); $approAutre->setAppro($lastAppro[0]); $doctrine->persist($approAutre); } } elseif ($fournisseur->getType() == 3) { foreach ($request->get('option') as $idLecteur) { $typeLecteur = $doctrine->getRepository('ICApprovisionnementBundle:TypeLecteurAutre')->findOneBy(array('id' => $idLecteur)); $approLecteur = new ApproLecteur(); $approLecteur->setTypeLecteurAutre($typeLecteur); $approLecteur->setQuantite($request->get($idLecteur)); $approLecteur->setAppro($lastAppro[0]); $doctrine->persist($approLecteur); } } $doctrine->flush(); } }
public function addAproComposant(request $request, $idFournisseur) { $doctrine = $this->doctrine; $existe = 0; $fournisseur = $doctrine->getRepository('ICApprovisionnementBundle:Fournisseur')->findOneBy(array('id' => $idFournisseur)); $appro = new Appro(); $appro->setFournisseur($fournisseur); $appro->setTypeProduit(1); $appro->setDateCommande(new \Datetime()); $doctrine->persist($appro); $doctrine->flush(); $lastAppro = $doctrine->getRepository('ICApprovisionnementBundle:Appro')->getLastAppro(); foreach ($request->get('listId') as $id) { $vide = $request->get($id); if (!empty($vide)) { $existe = 1; $composant = $doctrine->getRepository('ICApprovisionnementBundle:Composant')->findOneBy(array('id' => $id)); $composantAppro = new ApproComposant(); $composantAppro->setComposant($composant); $composantAppro->setQuantite($request->get($id)); $composantAppro->setAppro($lastAppro[0]); $doctrine->persist($composantAppro); } } if ($existe == 0) { $doctrine->remove($lastAppro[0]); } $doctrine->flush(); }