コード例 #1
0
 public function findByProvider(Provider $provider)
 {
     $idArray = [];
     /** @var Contact $contact */
     foreach ($provider->getContacts() as $contact) {
         $idArray[] = $contact->getId();
     }
     $query = $this->createQueryBuilder('c')->where('c.id IN (:id)')->setParameter('id', $idArray);
     return $query;
 }
コード例 #2
0
 private function createFakeProvider()
 {
     $provider = new Provider();
     $baseFaker = \Faker\Factory::create();
     $provider->setName($baseFaker->company);
     $provider->setCountry($baseFaker->country);
     $provider->setType($this->getRandomType());
     $provider->setDescription($baseFaker->text(500));
     $provider->setUrl($baseFaker->url);
     $provider->setLastModification($baseFaker->dateTime);
     $nb = rand(1, 5);
     for ($x = 0; $x <= $nb; $x++) {
         $contactFaker = \Faker\Factory::create();
         $c = new Contact();
         $c->setProvider($provider);
         $c->setFirstName($contactFaker->firstName);
         $c->setLastName($contactFaker->lastName);
         $c->setGender(Personne::GENDER_MALE);
         $c->setEmail($contactFaker->email);
         $c->setTelephone($contactFaker->phoneNumber);
         $c->setDescription($contactFaker->text(300));
         $c->setComment($contactFaker->text(100));
         $this->output('create fake contact');
         $this->em->persist($c);
     }
     $this->em->persist($provider);
     $this->output('create fake provider');
     return $provider;
 }
コード例 #3
0
ファイル: Tag.php プロジェクト: nuffer/FundraisingDB
 /**
  * Remove provider
  *
  * @param \AppBundle\Entity\Provider $provider
  */
 public function removeProvider(\AppBundle\Entity\Provider $provider)
 {
     if ($this->getProviders()->contains($provider)) {
         $this->providers->removeElement($provider);
         $provider->removeTag($this);
     }
 }
コード例 #4
0
ファイル: Contact.php プロジェクト: nuffer/FundraisingDB
 /**
  * Set provider
  *
  * @param \AppBundle\Entity\Provider $provider
  *
  * @return Contact
  */
 public function setProvider(\AppBundle\Entity\Provider $provider = null)
 {
     $this->provider = $provider;
     if ($this->provider != null) {
         $this->provider->addContact($this);
     }
     return $this;
 }
コード例 #5
0
ファイル: LoadProviderData.php プロジェクト: popov100/oem
 /**
  * {@inheritDoc}
  */
 public function load(ObjectManager $manager)
 {
     $providerData = [['Partzilla', 'http://partzilla.com', 'USD', 9, null], ['Ronayers', 'http://ronayers.com', 'USD', 12, 19], ['Megazip', 'http://megazip.ru', 'RUB', 24, null]];
     foreach ($providerData as $providerDataItem) {
         list($providerName, $providerUrl, $providerCurrency, $providerDeliveryLeft, $providerDeliveryRight, ) = $providerDataItem;
         $provider = new Provider();
         $provider->setName($providerName);
         $provider->setUrl($providerUrl);
         $provider->setCurrency($providerCurrency);
         $provider->setDeliveryLeft($providerDeliveryLeft);
         $provider->setDeliveryRight($providerDeliveryRight);
         $manager->persist($provider);
         $this->addReference('provider-' . strtolower($providerName), $provider);
     }
     $manager->flush();
 }
コード例 #6
0
 /**
  * @Route("/edit/{provider}", name="provider_edit",options={"expose"=true})
  * @Template("AppBundle:Provider:edit.html.twig")
  * @param Provider $provider
  * @ParamConverter("provider", class="AppBundle:Provider")
  * @return Response
  */
 public function editAction(Request $request, Provider $provider)
 {
     $originalContact = new ArrayCollection();
     foreach ($provider->getContacts() as $c) {
         $originalContact->add($c);
     }
     $originalTags = new ArrayCollection();
     foreach ($provider->getTags() as $t) {
         $originalTags->add($t);
     }
     $form = $this->createForm(new ProviderType(), $provider);
     $form->handleRequest($request);
     if ($form->isValid()) {
         $em = $this->getDoctrine()->getManager();
         foreach ($originalContact as $c) {
             if (false === $provider->getContacts()->contains($c)) {
                 $provider->removeContact($c);
                 $em->remove($c);
             }
         }
         /** @var Tag $t */
         foreach ($originalTags as $t) {
             if (false === $provider->getTags()->contains($t)) {
                 $t->removeProvider($provider);
                 $em->persist($t);
             }
         }
         $provider->setLastModification(new \DateTime());
         /** @var Tag $tag */
         foreach ($provider->getTags() as $tag) {
             $tag->addProvider($provider);
             $em->persist($tag);
         }
         $em->persist($provider);
         $em->flush();
         return $this->redirect($this->generateUrl('provider_show', array('provider' => $provider->getId())));
     }
     return array('form' => $form->createView());
 }
コード例 #7
0
 public function load(ObjectManager $manager)
 {
     $provider = new Provider();
     $provider->setName('Fastweb');
     $provider->setActive(true);
     $provider->setApi('fw');
     $provider->setDescription('');
     $provider->setShortDescription('');
     $provider->setIdProvider(1);
     $provider->setOffersLink('');
     $manager->persist($provider);
     $manager->flush();
     $provider = new Provider();
     $provider->setName('Tim');
     $provider->setActive(true);
     $provider->setApi('tlcm');
     $provider->setDescription('');
     $provider->setShortDescription('');
     $provider->setIdProvider(2);
     $provider->setOffersLink('');
     $manager->persist($provider);
     $manager->flush();
     $provider = new Provider();
     $provider->setName('Vodafone');
     $provider->setActive(true);
     $provider->setApi('vdfn');
     $provider->setDescription('');
     $provider->setShortDescription('');
     $provider->setIdProvider(4);
     $provider->setOffersLink('');
     $manager->persist($provider);
     $manager->flush();
     $provider = new Provider();
     $provider->setName('Tiscali');
     $provider->setActive(true);
     $provider->setApi('tiscali');
     $provider->setDescription('');
     $provider->setShortDescription('');
     $provider->setIdProvider(5);
     $provider->setOffersLink('');
     $manager->persist($provider);
     $manager->flush();
     $provider = new Provider();
     $provider->setName('Infostrada');
     $provider->setActive(true);
     $provider->setApi('infostrada');
     $provider->setDescription('');
     $provider->setShortDescription('');
     $provider->setIdProvider(6);
     $provider->setOffersLink('');
     $manager->persist($provider);
     $manager->flush();
     $provider = new Provider();
     $provider->setName('Eolo');
     $provider->setActive(true);
     $provider->setApi('eolo');
     $provider->setDescription('');
     $provider->setShortDescription('');
     $provider->setIdProvider(7);
     $provider->setOffersLink('');
     $manager->persist($provider);
     $manager->flush();
     $provider = new Provider();
     $provider->setName('Linkem');
     $provider->setActive(true);
     $provider->setApi('fw');
     $provider->setDescription('');
     $provider->setShortDescription('');
     $provider->setIdProvider(9);
     $provider->setOffersLink('');
     $manager->persist($provider);
     $manager->flush();
 }
コード例 #8
0
ファイル: Application.php プロジェクト: nuffer/FundraisingDB
 /**
  * Set provider
  *
  * @param \AppBundle\Entity\Provider $provider
  *
  * @return Application
  */
 public function setProvider(\AppBundle\Entity\Provider $provider = null)
 {
     $this->provider = $provider;
     if (!$provider->getApplications()->contains($this)) {
         $provider->addApplication($this);
     }
     return $this;
 }
コード例 #9
0
ファイル: LoadCommand.php プロジェクト: nuffer/FundraisingDB
 private function createProvider($name, $type, $url, $country, $description, $log)
 {
     try {
         $p = new Provider();
         //if(($name == '') || ($name == null))
         //throw new \Exception();
         $p->setName($name);
         /*
         $this->output('$name: '.$name);
                     $this->output('$type: '.$type);
                     $this->output('$url: '.$url);
                     $this->output('$country: '.$country);
         */
         $p->setType($this->to_provider_type($type));
         $p->setUrl($url);
         $p->setCountry($this->country_to_code($country));
         $p->setDescription($description);
         $p->setComment($log);
         $this->em->persist($p);
         $this->em->flush();
         return $p;
     } catch (\Exception $e) {
         echo $e->getMessage();
         $this->output('cannot creat provider', 'error');
         return null;
     }
 }