<?php
namespace App\Controller\Services;
use App\Entity\Deals;
use App\Form\Services\BillType;
use App\Entity\Payments\Save\Service;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
class BillPaymentController extends AbstractController
{
protected $em;
public function __construct(EntityManagerInterface $entityManager)
{
$this->em = $entityManager;
}
/**
* @Route("/send/paybill", name="app_pay_bill")
*/
public function getPaymentBill(Request $request): Response
{
$tabResult['statut'] = FALSE;
$values = $request->request->all();
$idBill = $values['id_bill'];
$orderNumber = $values['order_number'];
$result = $this->em->getRepository(Service::class)->findOneBy(["id_bill" => $idBill, "order_number" => $orderNumber]);
if(!empty($result)){
$tabResult['statut'] = TRUE;
$tabResult['amount'] = $result->getAmount();
}
return new JsonResponse($tabResult);
}
public function index(): Response
{
$deals = $this->em->getRepository(Deals::class)->findBy(["statut"=> 1]);
$service = new Service;
$form = $this->createForm(BillType::class, $service, [
'action' => $this->generateUrl('service-payment-capture'),
'method' => 'POST'
]);
return $this->render('services/bill_payment/index.html.twig', [
"form" => $form->createView(),
"deals" => $deals
]);
}
}