コード例 #1
0
 /**
  * {@inheritdoc}
  */
 public function load(ObjectManager $manager)
 {
     $user = $this->getUser($manager);
     $requests = $this->getRequests($manager);
     $organization = $user->getOrganization();
     $accounts = $this->getAccounts($manager);
     for ($i = 0; $i < 20; $i++) {
         /* @var $account Account */
         $account = $accounts[rand(0, count($accounts) - 1)];
         if (!$account) {
             $accountUser = null;
         } else {
             $accountUsers = array_merge([null], $account->getUsers()->getValues());
             /* @var $accountUser AccountUser */
             $accountUser = $accountUsers[rand(0, count($accountUsers) - 1)];
         }
         // set date in future
         $validUntil = new \DateTime('now');
         $addDays = sprintf('+%s days', rand(10, 100));
         $validUntil->modify($addDays);
         $quote = new Quote();
         $quote->setOwner($user)->setOrganization($organization)->setValidUntil($validUntil)->setAccountUser($accountUser)->setAccount($account)->setLocked(rand(0, 1));
         if (1 === rand(1, 3)) {
             $quote->setRequest($requests[rand(1, count($requests) - 1)]);
         }
         $this->processQuoteProducts($quote, $manager);
         $manager->persist($quote);
     }
     $manager->flush();
 }
コード例 #2
0
 /**
  * {@inheritdoc}
  */
 public function load(ObjectManager $manager)
 {
     $user = $this->getUser($manager);
     $requests = $this->getRequests($manager);
     $organization = $user->getOrganization();
     for ($i = 0; $i < 20; $i++) {
         // set date in future
         $validUntil = new \DateTime('now');
         $addDays = sprintf('+%s days', rand(10, 100));
         $validUntil->modify($addDays);
         $quote = new Quote();
         $quote->setOwner($user)->setOrganization($organization)->setValidUntil($validUntil);
         if (1 === rand(1, 3)) {
             $quote->setRequest($requests[rand(1, count($requests) - 1)]);
         }
         $this->processQuoteProducts($quote, $manager);
         $manager->persist($quote);
     }
     $manager->flush();
 }
コード例 #3
0
 /**
  * "Success" form handler
  *
  * @param RFPRequest $entity
  * @return bool
  */
 protected function onSuccess(RFPRequest $entity)
 {
     $quote = new Quote();
     $quote->setRequest($entity)->setOwner($this->user)->setAccount($entity->getAccount())->setAccountUser($entity->getAccountUser())->setOrganization($this->user->getOrganization());
     foreach ($entity->getRequestProducts() as $requestProduct) {
         $quoteProduct = new QuoteProduct();
         $quoteProduct->setProduct($requestProduct->getProduct())->setType(QuoteProduct::TYPE_REQUESTED)->setCommentAccount($requestProduct->getComment());
         foreach ($requestProduct->getRequestProductItems() as $requestProductItem) {
             $quoteProductRequest = new QuoteProductRequest();
             $quoteProductRequest->setQuantity($requestProductItem->getQuantity())->setPrice($requestProductItem->getPrice())->setProductUnit($requestProductItem->getProductUnit())->setRequestProductItem($requestProductItem);
             $quoteProduct->addQuoteProductRequest($quoteProductRequest);
             $quoteProductOffer = new QuoteProductOffer();
             $quoteProductOffer->setQuantity($requestProductItem->getQuantity())->setProductUnit($requestProductItem->getProductUnit())->setPriceType(QuoteProductOffer::PRICE_TYPE_UNIT)->setAllowIncrements(true);
             $quoteProduct->addQuoteProductOffer($quoteProductOffer);
         }
         $quote->addQuoteProduct($quoteProduct);
     }
     try {
         $this->manager->persist($quote);
         $this->manager->flush();
         $this->quote = $quote;
     } catch (DBALException $e) {
         $this->exception = $e;
         return false;
     }
     return true;
 }