src/Services/ClientAvailableAndRelevantTransaction.php line 47

Open in your IDE?
  1. <?php
  2. namespace App\Services;
  3. use App\Repository\ClientAvailabilityRepository;
  4. use App\Repository\ServicesOfferedRepository;
  5. use App\Repository\TransactionRepository;
  6. class ClientAvailableAndRelevantTransaction
  7. {
  8.     public function getClientAvailableAndRelevantTransaction(\DateTimeInterface $date)
  9.     {
  10.         $transactions = [];
  11.         $servicesOffered =$this->servicesOfferedRepository->findBy([
  12.             'requiresImmigrationAppointment'=>1
  13.         ]);
  14.         foreach ($servicesOffered as $service){
  15.             foreach ($this->transactionRepository->findAll() as $transaction){
  16.                 if($transaction->getService() == $service){
  17.                     $transactions[] = $transaction;
  18.                 }
  19.             }
  20.         }
  21.         $available_clients $this->clientAvailabilityRepository->findBy([
  22.             'available' => '1',
  23.             'date' => $date
  24.         ]);
  25.         $joint_list = [];
  26.         foreach ($transactions as $transaction) {
  27.             foreach ($available_clients as $available_client) {
  28.                 if ($available_client->getClient() == $transaction->getClient() and $transaction->getStatus()=="Pending") {
  29.                     $joint_list[] = $transaction->getClient();
  30.                 }
  31.             }
  32.         }
  33.         if ($joint_list) {
  34.             return $joint_list;
  35.         } else {
  36.             return $joint_list;
  37.         }
  38.     }
  39.     public function __construct(TransactionRepository $transactionRepositoryClientAvailabilityRepository $clientAvailabilityRepositoryServicesOfferedRepository $servicesOfferedRepository)
  40.     {
  41.         $this->transactionRepository $transactionRepository;
  42.         $this->clientAvailabilityRepository $clientAvailabilityRepository;
  43.         $this->servicesOfferedRepository $servicesOfferedRepository;
  44.     }
  45. }