Exemplo n.º 1
0
 /**
  * @Route("/card/{cardId}/purchase/generate", name="generate_purchase")
  */
 public function generatePurchaseAction($cardId)
 {
     $em = $this->getDoctrine()->getManager();
     $card = $em->getRepository('AppBundle:Card')->find($cardId);
     if ($card->getStatus() == Card::getStatusList()[2]) {
         throw $this->createException('Карта просрочена!');
     }
     for ($i = 0; $i < mt_rand(0, 8); $i++) {
         $purchase = new Purchase();
         $purchase->setCard($card);
         $purchase->setAmount($this->generateAmount(500, 4000));
         $purchase->setDate(new \DateTime());
         $cardAmount = $card->getAmount();
         $card->setAmount($cardAmount - $purchase->getAmount());
         $em->persist($purchase);
     }
     $em->flush();
     return $this->redirect($this->generateUrl('card_show', array('cardId' => $cardId)));
 }