/**
  * {@inheritdoc}
  */
 public function load(ObjectManager $manager)
 {
     $statuses = $manager->getRepository('OroB2BRFPBundle:RequestStatus')->findAll();
     $organization = $manager->getRepository('OroOrganizationBundle:Organization')->getFirst();
     $locator = $this->container->get('file_locator');
     $filePath = $locator->locate('@OroB2BRFPBundle/Migrations/Data/Demo/ORM/data/requests.csv');
     if (is_array($filePath)) {
         $filePath = current($filePath);
     }
     $handler = fopen($filePath, 'r');
     $headers = fgetcsv($handler, 5000, ',');
     while (($data = fgetcsv($handler, 5000, ',')) !== false) {
         $row = array_combine($headers, array_values($data));
         $request = new Request();
         $request->setFirstName($row['first_name']);
         $request->setLastName($row['last_name']);
         $request->setEmail($row['email']);
         $request->setPhone($row['phone']);
         $request->setCompany($row['company']);
         $request->setRole($row['role']);
         $request->setBody($row['body']);
         $status = $statuses[rand(0, count($statuses) - 1)];
         $request->setStatus($status);
         $request->setOrganization($organization);
         $this->processRequestProducts($request, $manager);
         $manager->persist($request);
     }
     fclose($handler);
     $manager->flush();
 }
 /**
  * Test toString
  */
 public function testToString()
 {
     $id = 42;
     $firstName = 'Grzegorz';
     $lastName = 'Brzeczyszczykiewicz';
     $request = new Request();
     $request->setFirstName($firstName)->setLastName($lastName);
     $reflectionProperty = new \ReflectionProperty(get_class($request), 'id');
     $reflectionProperty->setAccessible(true);
     $reflectionProperty->setValue($request, $id);
     $this->assertEquals(sprintf('%s: %s %s', $id, $firstName, $lastName), (string) $request);
 }
 /**
  * {@inheritdoc}
  */
 public function load(ObjectManager $om)
 {
     $deletedRequestStatus = $om->getRepository('OroB2BRFPBundle:RequestStatus')->findOneBy(['name' => LoadRequestStatusData::NAME_DELETED]);
     if (!$deletedRequestStatus instanceof RequestStatus) {
         throw new \LogicException('$deletedRequestStatus must be instance of RequestStatus');
     }
     foreach ($this->requests as $rawRequest) {
         $request = new Request();
         $request->setFirstName($rawRequest['first_name'])->setLastName($rawRequest['last_name'])->setEmail($rawRequest['email'])->setPhone($rawRequest['phone'])->setCompany($rawRequest['company'])->setRole($rawRequest['role'])->setBody($rawRequest['body'])->setStatus($deletedRequestStatus);
         $om->persist($request);
     }
     $om->flush();
 }
 /**
  * @param ObjectManager $manager
  */
 public function load(ObjectManager $manager)
 {
     $status = $manager->getRepository('OroB2BRFPBundle:RequestStatus')->findOneBy([], ['id' => 'ASC']);
     if (!$status) {
         return;
     }
     foreach ($this->requests as $rawRequest) {
         $request = new Request();
         $request->setFirstName($rawRequest['first_name'])->setLastName($rawRequest['last_name'])->setEmail($rawRequest['email'])->setPhone($rawRequest['phone'])->setCompany($rawRequest['company'])->setRole($rawRequest['role'])->setBody($rawRequest['body'])->setStatus($status);
         $manager->persist($request);
     }
     $manager->flush();
 }
 /**
  * @param ObjectManager $manager
  */
 public function load(ObjectManager $manager)
 {
     /** @var RequestStatus $status */
     $status = $manager->getRepository('OroB2BRFPBundle:RequestStatus')->findOneBy([], ['id' => 'ASC']);
     if (!$status) {
         return;
     }
     /** @var Organization $organization */
     $organization = $this->getUser($manager)->getOrganization();
     foreach ($this->requests as $key => $rawRequest) {
         $request = new Request();
         $request->setFirstName($rawRequest['first_name'])->setLastName($rawRequest['last_name'])->setEmail($rawRequest['email'])->setPhone($rawRequest['phone'])->setCompany($rawRequest['company'])->setRole($rawRequest['role'])->setBody($rawRequest['body'])->setStatus($status)->setOrganization($organization);
         if (!empty($rawRequest['account'])) {
             $request->setAccount($this->getReference($rawRequest['account']));
         }
         if (!empty($rawRequest['accountUser'])) {
             $request->setAccountUser($this->getReference($rawRequest['accountUser']));
         }
         $manager->persist($request);
         $this->addReference($key, $request);
     }
     $manager->flush();
 }
 /**
  * "Success" form handler
  *
  * @param ShoppingList $entity
  * @return bool
  */
 protected function onSuccess(ShoppingList $entity)
 {
     $rfpRequest = new RFPRequest();
     $rfpRequest->setFirstName($this->user->getFirstName())->setLastName($this->user->getLastName())->setEmail($this->user->getEmail())->setPhone('')->setRole('')->setBody('')->setCompany($this->user->getOrganization() ? $this->user->getOrganization()->getName() : '')->setAccountUser($this->user)->setAccount($this->user->getAccount())->setStatus($this->requestStatus);
     foreach ($entity->getLineItems() as $shoppingListLineItem) {
         $requestProduct = new RequestProduct();
         $requestProduct->setProduct($shoppingListLineItem->getProduct());
         $requestProductItem = new RequestProductItem();
         $requestProductItem->setQuantity($shoppingListLineItem->getQuantity())->setProductUnit($shoppingListLineItem->getUnit());
         $requestProduct->addRequestProductItem($requestProductItem);
         $rfpRequest->addRequestProduct($requestProduct);
     }
     try {
         $this->manager->persist($rfpRequest);
         $this->manager->flush();
         $this->rfpRequest = $rfpRequest;
     } catch (DBALException $e) {
         $this->exception = $e;
         return false;
     }
     return true;
 }
 /**
  * @param string $firstName
  * @param string $lastName
  * @param string $email
  * @param string $body
  * @param string $company
  * @param string $role
  * @return Request
  */
 protected function getRequest($firstName = null, $lastName = null, $email = null, $body = null, $company = null, $role = null)
 {
     $request = new Request();
     $request->setFirstName($firstName)->setLastName($lastName)->setEmail($email)->setBody($body)->setCompany($company)->setRole($role);
     return $request;
 }