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