/** * {@inheritDoc} */ public function load(ObjectManager $manager) { $offerData = ['5SL-81450-01-00' => [['partzilla', 288.9, 'http://www.partzilla.com/parts/detail/yamaha/YP-5SL-81450-01-00.html'], ['ronayers', 303.46, 'http://www.ronayers.com/oemparts/p/yamaha/5sl-81450-01-00/rotor-assy'], ['megazip', 19438, '']], '90105-126A8-00' => [['partzilla', 5.72, 'http://www.partzilla.com/parts/detail/yamaha/YP-90105-126A8-00.html'], ['ronayers', 5.17, 'http://www.ronayers.com/oemparts/p/yamaha/90105-126a8-00/bolt-flange'], ['megazip', 493, '']]]; foreach ($offerData as $partNumber => $partOffersData) { $part = $this->getReference('part-' . $partNumber); foreach ($partOffersData as $offerDataItem) { list($providerName, $price, $url) = $offerDataItem; $offer = new Offer(); $offer->setPart($part); $offer->setProvider($this->getReference('provider-' . $providerName)); $offer->setUrl($url); $offer->setPrice($price); $manager->persist($offer); } } $manager->flush(); }
/** * @Route("/{client}/updateOffer") */ public function newOfferAction(Request $request, UserClient $client) { $id = $request->request->get('id'); $em = $this->getDoctrine()->getManager(); $offer = $em->getRepository('AppBundle:Offer')->find($id); if (!$offer) { $offer = new Offer(); $offer->setCreated(new \DateTime()); $offer->setUpdated(new \DateTime()); } $offer->setDoctor($em->getRepository('AppBundle:UserDoctor')->find($request->request->get('doctor'))); $offer->setClient($client); $offer->setDate(new \DateTime($request->request->get('date'))); $offer->setStatus($request->request->get('status')); $offer->setComment($request->request->get('comment')); $services = json_decode($request->request->get('services'), true); foreach ($offer->getServices() as $service) { $offer->removeService($service); } if (is_array($services)) { foreach ($services as $serviceId) { $service = $em->getRepository('AppBundle:Service')->find($serviceId); $offer->addService($service); } } $em->persist($offer); $em->flush(); return new JsonResponse($offer); }