/** * {@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(); }
/** * {@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(); }
/** * "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; }