src/Services/ProcessEditFlatForm.php line 18

Open in your IDE?
  1. <?php 
  2. namespace App\Services;
  3. use App\Services\Util;
  4. use App\Services\ConfigService;
  5. use App\Services\AddressToCoordinates;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use App\Entity\Flat;
  8. class ProcessEditFlatForm{
  9.     private $em;
  10.     private $imArray;
  11.     private $user;
  12.     private $flatId;
  13.     public function __construct(EntityManagerInterface $em$imagesArray = array(), $user$flatId){
  14.         $this->em $em;
  15.         $this->imArray $imagesArray;
  16.         $this->user $user;
  17.         $this->flatId $flatId;
  18.     }
  19.     public function editFlat($formData): bool{
  20.         //get google api keys
  21.         $config = new ConfigService($this->em);
  22.         $apiKey $config->getMapsApiKey();
  23.         //get lat long
  24.         $address $formData->get('street')->getData() . ' ' .
  25.                     $formData->get('streetnomber')->getData() . ' ' .
  26.                     $formData->get('city')->getData() . ' ' .
  27.                     $formData->get('country')->getData();
  28.         $latLong AddressToCoordinates::latLong($address$apiKey);
  29.         //make rental contidions
  30.         $rt Util::jsonToArray($formData->get('rentalconditions')->getData());
  31.         //var_dump($rt);die();
  32.         $flat $this->em->getRepository(Flat::class)->findOneBy(['user'=>$this->user->getId(),
  33.                                                                  'id'=>$this->flatId]);
  34.         
  35.         //make latlong
  36.         if($latLong != NULL){
  37.             $flat->setLatLong($latLong);
  38.         }
  39.         $flat->setStreet($formData->get('street')->getData());
  40.         $flat->setStreetNo($formData->get('streetnomber')->getData());
  41.         $flat->setFlatNo($formData->get('floor')->getData());
  42.         $flat->setFloor($formData->get('floor')->getData());
  43.         $flat->setDoorNo($formData->get('door')->getData());
  44.         $flat->setCity\ucfirst\strtolower($formData->get('city')->getData()) ) );
  45.         $flat->setCountry(\ucfirst\strtolower($formData->get('country')->getData()) ) );
  46.         $flat->setTotalRooms($formData->get('totalrooms')->getData());
  47.         $flat->setTotalBathrooms($formData->get('totalbathrooms')->getData());
  48.         $flat->setLift($formData->get('lift')->getData());
  49.         $flat->setSquareMeter($formData->get('squaremeters')->getData());
  50.         
  51.         $flat->setTitle($formData->get('title')->getData());
  52.         $flat->setDescriptionUtil::removeHtml($formData->get('description')->getData(), 10000) );
  53.         $flat->setInternalRef($formData->get('internalref')->getData());
  54.         $flat->setPrice($formData->get('price')->getData());
  55.         $flat->setDeposit($formData->get('deposit')->getData());
  56.         $flat->setRentalConditions($rt);
  57.         $flat->setImages(array_merge($this->imArray$flat->getImages()));
  58.         $flat->setLastUpdate(\time());  
  59.         $flat->setActive('1');
  60.         $flat->setLang($formData->get('language')->getData());
  61.         $flat->setWifi($formData->get('wifi')->getData());
  62.         $flat->setLivingRoom($formData->get('livingroom')->getData());
  63.         $flat->setAvailableFrom\strtotime($formData->get('availablefrom')->getData()) );
  64.         //$flat->setUser($this->user);
  65.         $this->em->persist($flat);
  66.         $this->em->flush();
  67.         return $flat->getId() != NULL true false;
  68.     }
  69.     
  70.     
  71. }