/**
  * Finds all Auction using title.
  *
  * @Route("/auction/buy", name="auction_buy")
  * @Method("POST")
  * @Template()
  */
 public function buyAction(Request $request)
 {
     $auction = $request->request->get('auction');
     $amount = $request->request->get('amount');
     $price = $request->request->get('price');
     $em = $this->getDoctrine()->getManager();
     $auctionOb = $em->getRepository('AppBundle:Auction')->find($auction);
     $buyerOb = $this->get('security.token_storage')->getToken()->getUser();
     if ($auctionOb->getProductAmount() - $amount == 0) {
         $auctionOb->setEnabled(false);
     }
     $bidding = new Bidding();
     $bidding->setUser($buyerOb);
     $bidding->setAuction($auctionOb);
     $bidding->setAmount($amount);
     $bidding->setPrice($price);
     $bidding->setBiddingDate(new \DateTime('now'));
     if ($auctionOb->getBuyNow() == true) {
         $bidding->setWinning(true);
         $auctionOb->setProductAmount($auctionOb->getProductAmount() - $amount);
     }
     $em->persist($bidding);
     $em->flush();
     return $this->redirect($this->generateUrl('auction_you_buy', array('auctionTitle' => $bidding->getAuction()->getTitle(), 'auctionIsByNow' => $bidding->getAuction()->getBuyNow(), 'amount' => $bidding->getAmount(), 'price' => $bidding->getPrice())));
 }
示例#2
0
 /**
  * Add bidding
  *
  * @param \AppBundle\Entity\Bidding $bidding
  *
  * @return Auction
  */
 public function addBidding(\AppBundle\Entity\Bidding $bidding)
 {
     $this->bidding[] = $bidding;
     $bidding->setAuction($this);
     return $this;
 }