src/Entity/PropertyList.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Entity\Documents;
  4. use App\Entity\PropertyDetails;
  5. use App\Entity\PotentialClients;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use App\Entity\TipoTarifaFijaSuministros;
  8. use App\Repository\PropertyListRepository;
  9. use Doctrine\Common\Collections\Collection;
  10. use Symfony\Component\HttpFoundation\File\File;
  11. use Doctrine\Common\Collections\ArrayCollection;
  12. use Vich\UploaderBundle\Mapping\Annotation as Vich;
  13. #[ORM\Entity(repositoryClassPropertyListRepository::class)]
  14. #[ORM\Table(name'`propertylist`')]
  15. #[Vich\Uploadable]
  16. class PropertyList
  17. {
  18.     #[ORM\Id]
  19.     #[ORM\GeneratedValue]
  20.     #[ORM\Column]
  21.     private ?int $id null;
  22.     #[ORM\Column(length255nullable:true)]
  23.     private ?string $propertyAddress null;
  24.     #[ORM\Column(length255nullabletrue)]
  25.     private ?string $flatNumber null;
  26.     #[ORM\Column(length255)]
  27.     private ?string $propertyType null;
  28.     #[ORM\Column(length255nullabletrue)]
  29.     private ?string $deliveryType null;
  30.     #[ORM\Column(length255nullabletrue)]
  31.     private ?string $rentalType null;
  32.     #[ORM\Column(length255nullabletrue)]
  33.     private ?string $size null;
  34.     #[ORM\Column(length255nullabletrue)]
  35.     private ?string $builtType null;
  36.     #[ORM\Column(length255nullabletrue)]
  37.     private ?string $landlord_name null;
  38.     #[ORM\Column(length255nullabletrue)]
  39.     private ?string $landlordSurname null;
  40.     #[ORM\Column(length255,nullable:true)]
  41.     private ?string $property_city null;
  42.     #[ORM\Column(nullabletrue)]
  43.     private ?float $property_price null;
  44.     #[ORM\Column(length255,nullable:true)]
  45.     private ?bool $property_available null;
  46.     #[ORM\Column(nullable:true)]
  47.     private ?bool $furnished null;
  48.     #[ORM\Column(length255nullable:true)]
  49.     private ?string $postcode null;
  50. /*
  51.     #[ORM\ManyToOne(inversedBy: 'property')]
  52.     #[ORM\JoinColumn]
  53.     private ?Landlords $landlords = null;
  54. */
  55.     #[ORM\OneToMany(mappedBy'property'targetEntityTenants::class,  cascade: ['persist'])]
  56.     #[ORM\OrderBy(["id"=>"ASC"])]
  57.     private Collection $tenants;
  58.     #[ORM\ManyToMany(targetEntityPotentialClients::class, mappedBy'property'cascade: ['persist'])]
  59.     private Collection $potentialClients;
  60.     #[ORM\OneToMany(mappedBy'property_videos'targetEntityVideos::class, cascade: ['persist''remove'])]
  61.     private Collection $videos;
  62.     #[ORM\OneToMany(mappedBy'properties'targetEntityDocuments::class, cascade: ['persist''remove'])]
  63.     private Collection $documents;
  64.     /*
  65.     #[ORM\Column(length: 255, nullable: true)]
  66.     private ?string $image = null;
  67.     */
  68.     
  69.     #[ORM\OneToMany(mappedBy'property_image'targetEntityImage::class, cascade: ['persist''remove'])]
  70.     #[ORM\OrderBy(["orden"=>"ASC"])]
  71.     private Collection $images;
  72.     #[ORM\Column(length255nullabletrue)]
  73.     private ?string $property_number null;
  74.     #[ORM\OneToOne(inversedBy'propertyList'cascade: ['persist''remove'])]
  75.     private ?PropertyDetails $propertyDetails;
  76.     #[ORM\ManyToMany(targetEntityLandlords::class, mappedBy'property',cascade: ['persist'])]
  77.     private Collection $landlords;
  78.     #[ORM\Column(nullabletrue)]
  79.     private ?int $year null;
  80.     #[ORM\OneToMany(mappedBy'property'targetEntityPercentage::class,cascade: ['persist''remove'])]
  81.     private Collection $percentages;
  82.     #[ORM\ManyToOne(inversedBy'propertiesListed')]
  83.     private ?Broker $listingAgent null;
  84.     #[ORM\ManyToOne(inversedBy'propertiesSold')]
  85.     private ?Broker $sellingAgent null;
  86.     #[ORM\ManyToOne(inversedBy'propertiesManaged')]
  87.     private ?Broker $managingAgent null;
  88.     #[ORM\Column(length255nullabletrue)]
  89.     private ?string $province null;
  90.     #[ORM\Column(length255nullabletrue)]
  91.     private ?string $floor null;
  92.     #[ORM\Column(length255nullabletrue)]
  93.     private ?string $bloque null;
  94.     #[ORM\Column(length255nullabletrue)]
  95.     private ?string $escalera null;
  96.     #[ORM\Column(nullabletrue)]
  97.     private ?\DateTimeImmutable $createdAt null;
  98.     #[ORM\Column(length255nullabletrue)]
  99.     private ?string $status null;
  100.     #[ORM\Column(length255nullabletrue)]
  101.     private ?string $reason null;
  102.     #[ORM\Column(length255nullabletrue)]
  103.     private ?string $reference null;
  104.     #[ORM\Column(length255nullabletrue)]
  105.     private ?string $barrio null;
  106.     #[ORM\Column(length255nullabletrue)]
  107.     private ?string $subType null;
  108.     #[ORM\Column(nullabletrue)]
  109.     private ?float $precioAlquiler null;
  110.     #[ORM\Column(nullabletrue)]
  111.     private ?float $precioTraspaso null;
  112.     #[ORM\OneToMany(mappedBy'property'targetEntityUtilities::class)]
  113.     private Collection $utilities;
  114.     #[ORM\OneToMany(mappedBy'property'targetEntityInvoices::class)]
  115.     private Collection $invoices;
  116.     #[ORM\OneToMany(mappedBy'property'targetEntityMonthlyReport::class)]
  117.     private Collection $monthlyReports;
  118.     #[ORM\OneToMany(mappedBy'property'targetEntityMonthlyPayments::class)]
  119.     private Collection $monthlyPayments;
  120.     #[ORM\OneToMany(mappedBy'property'targetEntityPaymentDoc::class)]
  121.     private Collection $paymentDocs;
  122.     #[ORM\Column(nullabletrue)]
  123.     private ?float $utiles null;
  124.     #[ORM\Column(length60nullabletrue)]
  125.     private ?string $typePropertyAddress null;
  126.     #[ORM\ManyToOne(inversedBy'propertyLists')]
  127.     private ?ZonasPoblaciones $idzona null;
  128.     #[ORM\OneToMany(mappedBy'property'targetEntityUtilitiesProperty::class)]
  129.     private Collection $utilitiesProperties;
  130.     #[ORM\OneToMany(mappedBy'property'targetEntityRecibosTenants::class)]
  131.     private Collection $recibosTenants;
  132.     #[ORM\OneToMany(mappedBy'property'targetEntityLiquidaciones::class)]
  133.     private Collection $liquidaciones;
  134.     #[ORM\Column(nullabletrue)]
  135.     private ?bool $gestionInmobiliaria null;
  136.     #[ORM\Column(nullabletrue)]
  137.     private ?float $importeGestionInmobiliaria null;
  138.     #[ORM\ManyToOne(inversedBy'propertyLists')]
  139.     private ?TipoComision $tipoComisionInmobiliaria null;
  140.     #[ORM\OneToMany(mappedBy'property'targetEntityRecibosGestion::class)]
  141.     private Collection $recibosGestions;
  142.     #[ORM\OneToMany(mappedBy'property'targetEntityRecibosReparaciones::class)]
  143.     private Collection $recibosReparaciones;
  144.     #[ORM\OneToMany(mappedBy'property'targetEntityNotasPropiedad::class, cascade: ['remove'])]
  145.     private Collection $notasPropiedads;
  146.     #[ORM\ManyToOne(inversedBy'propertyListsFacturacions')]
  147.     private ?Landlords $propietarioFacturacion null;
  148.     #[ORM\ManyToMany(targetEntityPlataformasPublicacion::class, mappedBy'listaPropiedades'cascade:['persist'])]
  149.     private Collection $plataformasPublicacions;
  150.     #[ORM\OneToMany(mappedBy'idPropertyList'targetEntityDatosPlataformaPropertyList::class)]
  151.     private Collection $datosPlataformaPropertyLists;
  152.     #[ORM\ManyToOne(inversedBy'propertyLists')]
  153.     private ?TipoTarifaSuministros $tipoTarifaSuministro null;
  154.     #[ORM\Column(nullabletrue)]
  155.     private ?bool $crearRecibos null;
  156.     #[ORM\Column(nullabletrue)]
  157.     private ?float $importePorcentajeSuministro null;
  158.     #[ORM\Column(nullabletrue)]
  159.     private ?bool $configurarUtility null;
  160.     
  161. /*
  162.     #[ORM\OneToMany(mappedBy: 'property', targetEntity: Percentage::class,cascade: ['persist', 'remove'])]
  163.     private Collection $percentages;
  164.     
  165.     #[ORM\ManyToOne(inversedBy: 'property')]
  166.     private ?Percentage $percentage = null;
  167.     
  168.     #[ORM\OneToOne(inversedBy: 'PropertyList', targetEntity: PropertyList::class, cascade: ['persist', 'remove'])]
  169.     private ?PropertyDetails $propertyDetails;
  170.     //#[ORM\OneToMany(mappedBy: 'property', targetEntity: PotentialClient::class)]
  171.     //private Collection $potentialClients;
  172.     
  173.     #[ORM\OneToMany(mappedBy: 'property', targetEntity: Bedroom::class , cascade: ['persist', 'remove'])]
  174.     private Collection $bedrooms;
  175.      
  176.      */
  177.      public function __toString(): string
  178.     {
  179.         //return $this->getId();
  180.         //return $this->getReference() ?? "";
  181.         return $this->getDescPropiedad();
  182.     }
  183.     public function getDescPropiedad():string{
  184.         $texto=$this->propertyAddress." ".($this->property_number ?? "");
  185.         if($this->floor!==null){ $texto.=", ".$this->floor."º"; }
  186.         if($this->flatNumber!==null){ $texto.=" ".$this->flatNumber; }
  187.         if($this->postcode!==null){ $texto.=" - ".$this->postcode; }
  188.         if($this->property_city!==null){ $texto.=" (".$this->property_city.")";  }
  189.         return $texto;
  190.         //return $this->propertyAddress." ".($this->property_number ?? "")." ".($this->floor ?? "")." ".
  191.         //    ($this->flatNumber ?? "")." - ".($this->postcode ?? "")." (".($this->property_city ?? "").")";
  192.     }
  193.     public function __construct()
  194.     {
  195.         //$this->bedrooms = new ArrayCollection();
  196.         $this->potentialClients = new ArrayCollection();
  197.         $this->tenants = new ArrayCollection();
  198.         $this->documents = new ArrayCollection();
  199.         $this->images = new ArrayCollection();
  200.         $this->videos = new ArrayCollection();
  201.         $this->propertyDetails = new PropertyDetails();
  202.         $this->landlords = new ArrayCollection();
  203.         $this->percentages = new ArrayCollection();
  204.         $this->utilities = new ArrayCollection();
  205.         $this->invoices = new ArrayCollection();
  206.         $this->monthlyReports = new ArrayCollection();
  207.         $this->monthlyPayments = new ArrayCollection();
  208.         $this->paymentDocs = new ArrayCollection();
  209.         $this->referenceuniqid();
  210.         $this->utilitiesProperties = new ArrayCollection();
  211.         $this->recibosTenants = new ArrayCollection();
  212.         $this->liquidaciones = new ArrayCollection();
  213.         $this->recibosGestions = new ArrayCollection();
  214.         $this->recibosReparaciones = new ArrayCollection();
  215.         $this->notasPropiedads = new ArrayCollection();
  216.         $this->plataformasPublicacions = new ArrayCollection();
  217.         $this->datosPlataformaPropertyLists = new ArrayCollection();
  218.         
  219.     
  220.     }
  221.     public function getId(): ?int
  222.     {
  223.         return $this->id;
  224.     }
  225.     public function getPropertyAddress(): ?string
  226.     {
  227.         return $this->propertyAddress;
  228.     }
  229.     public function setPropertyAddress(string $propertyAddress): self
  230.     {
  231.         $this->propertyAddress $propertyAddress;
  232.         return $this;
  233.     }
  234.     public function getFlatNumber(): ?string
  235.     {
  236.         return $this->flatNumber;
  237.     }
  238.     public function setFlatNumber(?string $flatNumber): self
  239.     {
  240.         $this->flatNumber $flatNumber;
  241.         return $this;
  242.     }
  243.     public function getPropertyCity(): ?string
  244.     {
  245.         return $this->property_city;
  246.     }
  247.     public function setPropertyCity(string $property_city): self
  248.     {
  249.         $this->property_city $property_city;
  250.         return $this;
  251.     }
  252.     
  253.     public function getPostcode(): ?string
  254.     {
  255.         return $this->postcode;
  256.     }
  257.     public function setPostcode(string $postcode): self
  258.     {
  259.         $this->postcode $postcode;
  260.         return $this;
  261.     }
  262.     public function getPropertyType(): ?string
  263.     {
  264.         return $this->propertyType;
  265.     }
  266.     public function setPropertyType(string $propertyType): self
  267.     {
  268.         $this->propertyType $propertyType;
  269.         return $this;
  270.     }
  271.     public function getLandlordName(): ?string
  272.     {
  273.         return $this->landlord_name;
  274.     }
  275.     public function setLandlordName(string $landlord_name): self
  276.     {
  277.         $this->landlord_name $landlord_name;
  278.         return $this;
  279.     }
  280.     public function getLandlordSurname(): ?string
  281.     {
  282.         return $this->landlordSurname;
  283.     }
  284.     public function setLandlordSurname(string $landlordSurname): self
  285.     {
  286.         $this->landlordSurname $landlordSurname;
  287.         return $this;
  288.     }
  289.     public function getPropertyPrice(): ?float
  290.     {
  291.         return $this->property_price;
  292.     }
  293.     public function setPropertyPrice(?float $property_price): self
  294.     {
  295.         $this->property_price $property_price;
  296.         return $this;
  297.     }
  298.     public function isFurnished(): ?bool
  299.     {
  300.         return $this->furnished;
  301.     }
  302.     public function setFurnished(bool $furnished): self
  303.     {
  304.         $this->furnished $furnished;
  305.         return $this;
  306.     }
  307.     public function isPropertyAvailable(): ?bool
  308.     {
  309.         return $this->property_available;
  310.     }
  311.     public function setPropertyAvailable(bool $property_available): self
  312.     {
  313.         $this->property_available $property_available;
  314.         return $this;
  315.     }
  316.     /**
  317.      * return Collection<int, Bedroom>
  318.      */
  319.     //public function getBedrooms(): Collection
  320.     //{
  321.     //    return $this->bedrooms;
  322.     //}
  323.     //public function addBedroom(Bedroom $bedroom): self
  324.     //{
  325.     //    if (!$this->bedrooms->contains($bedroom)) {
  326.     //        $this->bedrooms->add($bedroom);
  327.     //        $bedroom->setProperty($this);
  328.     //    }
  329.     //    return $this;
  330.     //}
  331.     //public function removeBedroom(Bedroom $bedroom): self
  332.     //{
  333.     //    if ($this->bedrooms->removeElement($bedroom)) {
  334.     //        // set the owning side to null (unless already changed)
  335.     //        if ($bedroom->getProperty() === $this) {
  336.     //            $bedroom->setProperty(null);
  337.     //        }
  338.     //    }
  339.     //    return $this;
  340.     //}
  341.     
  342. /*
  343.     public function getLandlords(): ?Landlords
  344.     {
  345.         return $this->landlords;
  346.     }
  347.     public function setLandlords(?Landlords $landlords): self
  348.     {
  349.         $this->landlords = $landlords;
  350.         return $this;
  351.     }
  352. */
  353.     
  354.     /**
  355.      * @return Collection<int, Tenants>
  356.      */
  357.     public function getTenants(): Collection
  358.     {
  359.         return $this->tenants;
  360.     }
  361.     public function addTenant(Tenants $tenant): self
  362.     {
  363.         if (!$this->tenants->contains($tenant)) {
  364.             $this->tenants->add($tenant);
  365.             $tenant->setProperty($this);
  366.         }
  367.         return $this;
  368.     }
  369.     public function removeTenant(Tenants $tenant): self
  370.     {
  371.         if ($this->tenants->removeElement($tenant)) {
  372.             // set the owning side to null (unless already changed)
  373.             if ($tenant->getProperty() === $this) {
  374.                 $tenant->setProperty(null);
  375.             }
  376.         }
  377.         return $this;
  378.     }
  379.     /**
  380.      * @return Collection<int, PotentialClients>
  381.      */
  382.     public function getPotentialClients(): Collection
  383.     {
  384.         return $this->potentialClients;
  385.     }
  386. /*
  387.     public function setPotentialClients(ArrayCollection $potentialClients): self
  388.     {
  389.         $this->potentialClients = $potentialClients;
  390.         return $this;
  391.     }
  392. */
  393.     public function addPotentialClient(PotentialClients $potentialClient): self
  394.     {
  395.         if (!$this->potentialClients->contains($potentialClient)) {
  396.             $this->potentialClients->add($potentialClient);
  397.             $potentialClient->addProperty($this);
  398.         }
  399.         return $this;
  400.     }
  401.     public function removePotentialClient(PotentialClients $potentialClient): self
  402.     {
  403.         if ($this->potentialClients->removeElement($potentialClient)) {
  404.             $potentialClient->removeProperty($this);
  405.         }
  406.         return $this;
  407.     }
  408.    
  409.     /**
  410.      * @return Collection<int, Videos>
  411.      */
  412.     public function getVideos(): Collection
  413.     {
  414.         return $this->videos;
  415.     }
  416.     public function addVideo(Videos $video): self
  417.     {
  418.         if (!$this->videos->contains($video)) {
  419.             $this->videos->add($video);
  420.             $video->setPropertyVideos($this);
  421.         }
  422.         return $this;
  423.     }
  424.     public function removeVideo(Videos $video): self
  425.     {
  426.         if ($this->videos->removeElement($video)) {
  427.             // set the owning side to null (unless already changed)
  428.             if ($video->getPropertyVideos() === $this) {
  429.                 $video->setPropertyVideos(null);
  430.             }
  431.         }
  432.         return $this;
  433.     }
  434.     /**
  435.      * @return Collection<int, Documents>
  436.      */
  437.     public function getDocuments(): Collection
  438.     {
  439.         return $this->documents;
  440.     }
  441.     public function addDocument(Documents $document): self
  442.     {
  443.         if (!$this->documents->contains($document)) {
  444.             $this->documents->add($document);
  445.             $document->setProperties($this);
  446.         }
  447.         return $this;
  448.     }
  449.     public function removeDocument(Documents $document): self
  450.     {
  451.         if ($this->documents->removeElement($document)) {
  452.             // set the owning side to null (unless already changed)
  453.             if ($document->getProperties() === $this) {
  454.                 $document->setProperties(null);
  455.             }
  456.         }
  457.         return $this;
  458.     }
  459.    
  460.      /**
  461.      * @return Collection<int, Image>
  462.      */
  463.     public function getImages(): Collection
  464.     {
  465.         return $this->images;
  466.     }
  467.     public function addImage(Image $image): self
  468.     {
  469.         if (!$this->images->contains($image)) {
  470.             $this->images->add($image);
  471.             $image->setPropertyImage($this);
  472.         }
  473.         return $this;
  474.     }
  475.     public function removeImage(Image $image): self
  476.     {
  477.         if ($this->images->removeElement($image)) {
  478.             // set the owning side to null (unless already changed)
  479.             if ($image->getPropertyImage() === $this) {
  480.                 $image->setPropertyImage(null);
  481.             }
  482.         }
  483.         return $this;
  484.     }
  485.     public function getPropertyNumber(): ?string
  486.     {
  487.         return $this->property_number;
  488.     }
  489.     public function setPropertyNumber(?string $property_number): self
  490.     {
  491.         $this->property_number $property_number;
  492.         return $this;
  493.     }
  494.     public function getPropertyDetails(): ?PropertyDetails
  495.     {
  496.         return $this->propertyDetails;
  497.     }
  498.     public function setPropertyDetails(?PropertyDetails $propertyDetails): self
  499.     {
  500.         $this->propertyDetails $propertyDetails;
  501.         return $this;
  502.     }
  503.     public function getDeliveryType(): ?string
  504.     {
  505.         return $this->deliveryType;
  506.     }
  507.     public function setDeliveryType(?string $deliveryType): self
  508.     {
  509.         $this->deliveryType $deliveryType;
  510.         return $this;
  511.     }
  512.     public function getRentalType(): ?string
  513.     {
  514.         return $this->rentalType;
  515.     }
  516.     public function setRentalType(?string $rentalType): self
  517.     {
  518.         $this->rentalType $rentalType;
  519.         return $this;
  520.     }
  521.     public function getSize(): ?string
  522.     {
  523.         return $this->size;
  524.     }
  525.     public function setSize(?string $size): self
  526.     {
  527.         $this->size $size;
  528.         return $this;
  529.     }
  530.     public function getBuiltType(): ?string
  531.     {
  532.         return $this->builtType;
  533.     }
  534.     public function setBuiltType(?string $builtType): self
  535.     {
  536.         $this->builtType $builtType;
  537.         return $this;
  538.     }
  539.     /**
  540.      * @return Collection<int, Landlords>
  541.      */
  542.     public function getLandlords(): Collection
  543.     {
  544.         return $this->landlords;
  545.     }
  546.     public function addLandlord(Landlords $landlord): self
  547.     {
  548.         if (!$this->landlords->contains($landlord)) {
  549.             $this->landlords->add($landlord);
  550.             $landlord->addProperty($this);
  551.         }
  552.         return $this;
  553.     }
  554.     public function removeLandlord(Landlords $landlord): self
  555.     {
  556.         if ($this->landlords->removeElement($landlord)) {
  557.             $landlord->removeProperty($this);
  558.         }
  559.         return $this;
  560.     }
  561.     public function getYear(): ?int
  562.     {
  563.         return $this->year;
  564.     }
  565.     public function setYear(?int $year): self
  566.     {
  567.         $this->year $year;
  568.         return $this;
  569.     }
  570.    
  571. /*
  572.     /**
  573.      * @return Collection<int, Percentage>
  574.      */
  575. /*    public function getPercentages(): Collection
  576.     {
  577.         return $this->percentages;
  578.     }
  579.     public function addPercentage(Percentage $percentage): self
  580.     {
  581.         if (!$this->percentages->contains($percentage)) {
  582.             $this->percentages->add($percentage);
  583.             $percentage->setProperty($this);
  584.         }
  585.         return $this;
  586.     }
  587.     public function removePercentage(Percentage $percentage): self
  588.     {
  589.         if ($this->percentages->removeElement($percentage)) {
  590.             // set the owning side to null (unless already changed)
  591.             if ($percentage->getProperty() === $this) {
  592.                 $percentage->setProperty(null);
  593.             }
  594.         }
  595.         return $this;
  596.     }
  597. */
  598.     /**
  599.      * @return Collection<int, Percentage>
  600.      */
  601.     public function getPercentages(): Collection
  602.     {
  603.         return $this->percentages;
  604.     }
  605.     public function addPercentage(Percentage $percentage): self
  606.     {
  607.         if (!$this->percentages->contains($percentage)) {
  608.             $this->percentages->add($percentage);
  609.             $percentage->setProperty($this);
  610.         }
  611.         return $this;
  612.     }
  613.     public function removePercentage(Percentage $percentage): self
  614.     {
  615.         if ($this->percentages->removeElement($percentage)) {
  616.             // set the owning side to null (unless already changed)
  617.             if ($percentage->getProperty() === $this) {
  618.                 $percentage->setProperty(null);
  619.             }
  620.         }
  621.         return $this;
  622.     }
  623.     public function getListingAgent(): ?Broker
  624.     {
  625.         return $this->listingAgent;
  626.     }
  627.     public function setListingAgent(?Broker $listingAgent): self
  628.     {
  629.         $this->listingAgent $listingAgent;
  630.         return $this;
  631.     }
  632.     public function getSellingAgent(): ?Broker
  633.     {
  634.         return $this->sellingAgent;
  635.     }
  636.     public function setSellingAgent(?Broker $sellingAgent): self
  637.     {
  638.         $this->sellingAgent $sellingAgent;
  639.         return $this;
  640.     }
  641.     public function getManagingAgent(): ?Broker
  642.     {
  643.         return $this->managingAgent;
  644.     }
  645.     public function setManagingAgent(?Broker $managingAgent): self
  646.     {
  647.         $this->managingAgent $managingAgent;
  648.         return $this;
  649.     }
  650.     public function getProvince(): ?string
  651.     {
  652.         return $this->province;
  653.     }
  654.     public function setProvince(?string $province): self
  655.     {
  656.         $this->province $province;
  657.         return $this;
  658.     }
  659.     public function getFloor(): ?string
  660.     {
  661.         return $this->floor;
  662.     }
  663.     public function setFloor(?string $floor): self
  664.     {
  665.         $this->floor $floor;
  666.         return $this;
  667.     }
  668.     public function getBloque(): ?string
  669.     {
  670.         return $this->bloque;
  671.     }
  672.     public function setBloque(?string $bloque): self
  673.     {
  674.         $this->bloque $bloque;
  675.         return $this;
  676.     }
  677.     public function getEscalera(): ?string
  678.     {
  679.         return $this->escalera;
  680.     }
  681.     public function setEscalera(?string $escalera): self
  682.     {
  683.         $this->escalera $escalera;
  684.         return $this;
  685.     }
  686.     public function getCreatedAt(): ?\DateTimeImmutable
  687.     {
  688.         return $this->createdAt;
  689.     }
  690.     public function setCreatedAt(?\DateTimeImmutable $createdAt): self
  691.     {
  692.         $this->createdAt $createdAt;
  693.         return $this;
  694.     }
  695.     
  696.     public function getReason(): ?string
  697.     {
  698.         return $this->reason;
  699.     }
  700.     public function setReason(?string $reason): self
  701.     {
  702.         $this->reason $reason;
  703.         return $this;
  704.     }
  705.     public function getReference(): ?string
  706.     {
  707.         return $this->reference;
  708.     }
  709.     public function setReference(?string $reference): self
  710.     {
  711.         $this->reference $reference;
  712.         return $this;
  713.     }
  714.     public function getBarrio(): ?string
  715.     {
  716.         return $this->barrio;
  717.     }
  718.     public function setBarrio(?string $barrio): self
  719.     {
  720.         $this->barrio $barrio;
  721.         return $this;
  722.     }
  723.     public function getSubType(): ?string
  724.     {
  725.         return $this->subType;
  726.     }
  727.     public function setSubType(?string $subType): self
  728.     {
  729.         $this->subType $subType;
  730.         return $this;
  731.     }
  732.     public function getStatus(): ?string
  733.     {
  734.         return $this->status;
  735.     }
  736.     public function setStatus(?string $status): self
  737.     {
  738.         $this->status $status;
  739.         return $this;
  740.     }
  741.     public function getPrecioAlquiler(): ?float
  742.     {
  743.         return $this->precioAlquiler;
  744.     }
  745.     public function setPrecioAlquiler(?float $precioAlquiler): self
  746.     {
  747.         $this->precioAlquiler $precioAlquiler;
  748.         return $this;
  749.     }
  750.     public function getPrecioTraspaso(): ?float
  751.     {
  752.         return $this->precioTraspaso;
  753.     }
  754.     public function setPrecioTraspaso(?float $precioTraspaso): self
  755.     {
  756.         $this->precioTraspaso $precioTraspaso;
  757.         return $this;
  758.     }
  759.     /**
  760.      * @return Collection<int, Utilities>
  761.      */
  762.     public function getUtilities(): Collection
  763.     {
  764.         return $this->utilities;
  765.     }
  766.     public function addUtility(Utilities $utility): self
  767.     {
  768.         if (!$this->utilities->contains($utility)) {
  769.             $this->utilities->add($utility);
  770.             $utility->setProperty($this);
  771.         }
  772.         return $this;
  773.     }
  774.     public function removeUtility(Utilities $utility): self
  775.     {
  776.         if ($this->utilities->removeElement($utility)) {
  777.             // set the owning side to null (unless already changed)
  778.             if ($utility->getProperty() === $this) {
  779.                 $utility->setProperty(null);
  780.             }
  781.         }
  782.         return $this;
  783.     }
  784.     /**
  785.      * @return Collection<int, Invoices>
  786.      */
  787.     public function getInvoices(): Collection
  788.     {
  789.         return $this->invoices;
  790.     }
  791.     public function addInvoice(Invoices $invoice): self
  792.     {
  793.         if (!$this->invoices->contains($invoice)) {
  794.             $this->invoices->add($invoice);
  795.             $invoice->setProperty($this);
  796.         }
  797.         return $this;
  798.     }
  799.     public function removeInvoice(Invoices $invoice): self
  800.     {
  801.         if ($this->invoices->removeElement($invoice)) {
  802.             // set the owning side to null (unless already changed)
  803.             if ($invoice->getProperty() === $this) {
  804.                 $invoice->setProperty(null);
  805.             }
  806.         }
  807.         return $this;
  808.     }
  809.     /**
  810.      * @return Collection<int, MonthlyReport>
  811.      */
  812.     public function getMonthlyReports(): Collection
  813.     {
  814.         return $this->monthlyReports;
  815.     }
  816.     public function addMonthlyReport(MonthlyReport $monthlyReport): self
  817.     {
  818.         if (!$this->monthlyReports->contains($monthlyReport)) {
  819.             $this->monthlyReports->add($monthlyReport);
  820.             $monthlyReport->setProperty($this);
  821.         }
  822.         return $this;
  823.     }
  824.     public function removeMonthlyReport(MonthlyReport $monthlyReport): self
  825.     {
  826.         if ($this->monthlyReports->removeElement($monthlyReport)) {
  827.             // set the owning side to null (unless already changed)
  828.             if ($monthlyReport->getProperty() === $this) {
  829.                 $monthlyReport->setProperty(null);
  830.             }
  831.         }
  832.         return $this;
  833.     }
  834.     
  835.     /*
  836.     public function monthlyCost(): float
  837.     {
  838.         if ($this->getRentalType() === 'por Habitaciones') {
  839.             $rentedBedrooms = 0;
  840.             $rentedBedroomsCost = 0;
  841.             $totalBedrooms = $this->getPropertyDetails()->getBedroomNumber();
  842.             foreach ($this->getPropertyDetails()->getBedrooms() as $bedroom) {
  843.                 if ($bedroom->isIsRented()) {
  844.                     $rentedBedrooms++;
  845.                     $rentedBedroomsCost += $bedroom->getBedroomPrice();
  846.                 }
  847.             }
  848.             return $rentedBedroomsCost / $totalBedrooms;
  849.         } else if ($this->getRentalType() === 'propiedad entera') {
  850.             //$rentedBedrooms = $totalBedrooms;
  851.             $rent = $this->getPrecioAlquiler();
  852.             return $rent;
  853.         } else {
  854.             $notForRent='Este inmueble no se alquila.';
  855.             return $notForRent;
  856.         }
  857.         
  858.         
  859.     }
  860.     */
  861.     /**
  862.      * @return Collection<int, MonthlyPayments>
  863.      */
  864.     public function getMonthlyPayments(): Collection
  865.     {
  866.         return $this->monthlyPayments;
  867.     }
  868.     public function addMonthlyPayment(MonthlyPayments $monthlyPayment): self
  869.     {
  870.         if (!$this->monthlyPayments->contains($monthlyPayment)) {
  871.             $this->monthlyPayments->add($monthlyPayment);
  872.             $monthlyPayment->setProperty($this);
  873.         }
  874.         return $this;
  875.     }
  876.     public function removeMonthlyPayment(MonthlyPayments $monthlyPayment): self
  877.     {
  878.         if ($this->monthlyPayments->removeElement($monthlyPayment)) {
  879.             // set the owning side to null (unless already changed)
  880.             if ($monthlyPayment->getProperty() === $this) {
  881.                 $monthlyPayment->setProperty(null);
  882.             }
  883.         }
  884.         return $this;
  885.     }
  886.     /**
  887.      * @return Collection<int, PaymentDoc>
  888.      */
  889.     public function getPaymentDocs(): Collection
  890.     {
  891.         return $this->paymentDocs;
  892.     }
  893.     public function addPaymentDoc(PaymentDoc $paymentDoc): self
  894.     {
  895.         if (!$this->paymentDocs->contains($paymentDoc)) {
  896.             $this->paymentDocs->add($paymentDoc);
  897.             $paymentDoc->setProperty($this);
  898.         }
  899.         return $this;
  900.     }
  901.     public function removePaymentDoc(PaymentDoc $paymentDoc): self
  902.     {
  903.         if ($this->paymentDocs->removeElement($paymentDoc)) {
  904.             // set the owning side to null (unless already changed)
  905.             if ($paymentDoc->getProperty() === $this) {
  906.                 $paymentDoc->setProperty(null);
  907.             }
  908.         }
  909.         return $this;
  910.     }
  911.     public function getUtiles(): ?float
  912.     {
  913.         return $this->utiles;
  914.     }
  915.     public function setUtiles(?float $utiles): self
  916.     {
  917.         $this->utiles $utiles;
  918.         return $this;
  919.     }
  920.     public function getTypePropertyAddress(): ?string
  921.     {
  922.         return $this->typePropertyAddress;
  923.     }
  924.     public function setTypePropertyAddress(?string $typePropertyAddress): self
  925.     {
  926.         $this->typePropertyAddress $typePropertyAddress;
  927.         return $this;
  928.     }
  929.     public function getIdzona(): ?ZonasPoblaciones
  930.     {
  931.         return $this->idzona;
  932.     }
  933.     public function setIdzona(?ZonasPoblaciones $idzona): self
  934.     {
  935.         $this->idzona $idzona;
  936.         return $this;
  937.     }
  938.     /**
  939.      * @return Collection<int, UtilitiesProperty>
  940.      */
  941.     public function getUtilitiesProperties(): Collection
  942.     {
  943.         return $this->utilitiesProperties;
  944.     }
  945.     public function addUtilitiesProperty(UtilitiesProperty $utilitiesProperty): static
  946.     {
  947.         if (!$this->utilitiesProperties->contains($utilitiesProperty)) {
  948.             $this->utilitiesProperties->add($utilitiesProperty);
  949.             $utilitiesProperty->setProperty($this);
  950.         }
  951.         return $this;
  952.     }
  953.     public function removeUtilitiesProperty(UtilitiesProperty $utilitiesProperty): static
  954.     {
  955.         if ($this->utilitiesProperties->removeElement($utilitiesProperty)) {
  956.             // set the owning side to null (unless already changed)
  957.             if ($utilitiesProperty->getProperty() === $this) {
  958.                 $utilitiesProperty->setProperty(null);
  959.             }
  960.         }
  961.         return $this;
  962.     }
  963.     /**
  964.      * @return Collection<int, RecibosTenants>
  965.      */
  966.     public function getRecibosTenants(): Collection
  967.     {
  968.         return $this->recibosTenants;
  969.     }
  970.     public function addRecibosTenant(RecibosTenants $recibosTenant): static
  971.     {
  972.         if (!$this->recibosTenants->contains($recibosTenant)) {
  973.             $this->recibosTenants->add($recibosTenant);
  974.             $recibosTenant->setProperty($this);
  975.         }
  976.         return $this;
  977.     }
  978.     public function removeRecibosTenant(RecibosTenants $recibosTenant): static
  979.     {
  980.         if ($this->recibosTenants->removeElement($recibosTenant)) {
  981.             // set the owning side to null (unless already changed)
  982.             if ($recibosTenant->getProperty() === $this) {
  983.                 $recibosTenant->setProperty(null);
  984.             }
  985.         }
  986.         return $this;
  987.     }
  988.     /**
  989.      * @return Collection<int, Liquidaciones>
  990.      */
  991.     public function getLiquidaciones(): Collection
  992.     {
  993.         return $this->liquidaciones;
  994.     }
  995.     public function addLiquidacione(Liquidaciones $liquidacione): static
  996.     {
  997.         if (!$this->liquidaciones->contains($liquidacione)) {
  998.             $this->liquidaciones->add($liquidacione);
  999.             $liquidacione->setProperty($this);
  1000.         }
  1001.         return $this;
  1002.     }
  1003.     public function removeLiquidacione(Liquidaciones $liquidacione): static
  1004.     {
  1005.         if ($this->liquidaciones->removeElement($liquidacione)) {
  1006.             // set the owning side to null (unless already changed)
  1007.             if ($liquidacione->getProperty() === $this) {
  1008.                 $liquidacione->setProperty(null);
  1009.             }
  1010.         }
  1011.         return $this;
  1012.     }
  1013.     public function isGestionInmobiliaria(): ?bool
  1014.     {
  1015.         return $this->gestionInmobiliaria;
  1016.     }
  1017.     public function setGestionInmobiliaria(?bool $gestionInmobiliaria): static
  1018.     {
  1019.         $this->gestionInmobiliaria $gestionInmobiliaria;
  1020.         return $this;
  1021.     }
  1022.     public function getImporteGestionInmobiliaria(): ?float
  1023.     {
  1024.         return $this->importeGestionInmobiliaria;
  1025.     }
  1026.     public function setImporteGestionInmobiliaria(?float $importeGestionInmobiliaria): static
  1027.     {
  1028.         $this->importeGestionInmobiliaria $importeGestionInmobiliaria;
  1029.         return $this;
  1030.     }
  1031.     public function getTipoComisionInmobiliaria(): ?TipoComision
  1032.     {
  1033.         return $this->tipoComisionInmobiliaria;
  1034.     }
  1035.     public function setTipoComisionInmobiliaria(?TipoComision $tipoComisionInmobiliaria): static
  1036.     {
  1037.         $this->tipoComisionInmobiliaria $tipoComisionInmobiliaria;
  1038.         return $this;
  1039.     }
  1040.     /**
  1041.      * @return Collection<int, RecibosGestion>
  1042.      */
  1043.     public function getRecibosGestions(): Collection
  1044.     {
  1045.         return $this->recibosGestions;
  1046.     }
  1047.     public function addRecibosGestion(RecibosGestion $recibosGestion): static
  1048.     {
  1049.         if (!$this->recibosGestions->contains($recibosGestion)) {
  1050.             $this->recibosGestions->add($recibosGestion);
  1051.             $recibosGestion->setProperty($this);
  1052.         }
  1053.         return $this;
  1054.     }
  1055.     public function removeRecibosGestion(RecibosGestion $recibosGestion): static
  1056.     {
  1057.         if ($this->recibosGestions->removeElement($recibosGestion)) {
  1058.             // set the owning side to null (unless already changed)
  1059.             if ($recibosGestion->getProperty() === $this) {
  1060.                 $recibosGestion->setProperty(null);
  1061.             }
  1062.         }
  1063.         return $this;
  1064.     }
  1065.     /**
  1066.      * @return Collection<int, RecibosReparaciones>
  1067.      */
  1068.     public function getRecibosReparaciones(): Collection
  1069.     {
  1070.         return $this->recibosReparaciones;
  1071.     }
  1072.     public function addRecibosReparacione(RecibosReparaciones $recibosReparacione): static
  1073.     {
  1074.         if (!$this->recibosReparaciones->contains($recibosReparacione)) {
  1075.             $this->recibosReparaciones->add($recibosReparacione);
  1076.             $recibosReparacione->setProperty($this);
  1077.         }
  1078.         return $this;
  1079.     }
  1080.     public function removeRecibosReparacione(RecibosReparaciones $recibosReparacione): static
  1081.     {
  1082.         if ($this->recibosReparaciones->removeElement($recibosReparacione)) {
  1083.             // set the owning side to null (unless already changed)
  1084.             if ($recibosReparacione->getProperty() === $this) {
  1085.                 $recibosReparacione->setProperty(null);
  1086.             }
  1087.         }
  1088.         return $this;
  1089.     }
  1090.     /**
  1091.      * @return Collection<int, NotasPropiedad>
  1092.      */
  1093.     public function getNotasPropiedads(): Collection
  1094.     {
  1095.         return $this->notasPropiedads;
  1096.     }
  1097.     public function addNotasPropiedad(NotasPropiedad $notasPropiedad): static
  1098.     {
  1099.         if (!$this->notasPropiedads->contains($notasPropiedad)) {
  1100.             $this->notasPropiedads->add($notasPropiedad);
  1101.             $notasPropiedad->setProperty($this);
  1102.         }
  1103.         return $this;
  1104.     }
  1105.     public function removeNotasPropiedad(NotasPropiedad $notasPropiedad): static
  1106.     {
  1107.         if ($this->notasPropiedads->removeElement($notasPropiedad)) {
  1108.             // set the owning side to null (unless already changed)
  1109.             if ($notasPropiedad->getProperty() === $this) {
  1110.                 $notasPropiedad->setProperty(null);
  1111.             }
  1112.         }
  1113.         return $this;
  1114.     }
  1115.     public function getPropietarioFacturacion(): ?Landlords
  1116.     {
  1117.         return $this->propietarioFacturacion;
  1118.     }
  1119.     public function setPropietarioFacturacion(?Landlords $propietarioFacturacion): static
  1120.     {
  1121.         $this->propietarioFacturacion $propietarioFacturacion;
  1122.         return $this;
  1123.     }
  1124.     /**
  1125.      * @return Collection<int, PlataformasPublicacion>
  1126.      */
  1127.     public function getPlataformasPublicacions(): Collection
  1128.     {
  1129.         return $this->plataformasPublicacions;
  1130.     }
  1131.     public function addPlataformasPublicacion(PlataformasPublicacion $plataformasPublicacion): static
  1132.     {
  1133.         if (!$this->plataformasPublicacions->contains($plataformasPublicacion)) {
  1134.             $this->plataformasPublicacions->add($plataformasPublicacion);
  1135.             $plataformasPublicacion->addListaPropiedade($this);
  1136.         }
  1137.         return $this;
  1138.     }
  1139.     public function removePlataformasPublicacion(PlataformasPublicacion $plataformasPublicacion): static
  1140.     {
  1141.         if ($this->plataformasPublicacions->removeElement($plataformasPublicacion)) {
  1142.             $plataformasPublicacion->removeListaPropiedade($this);
  1143.         }
  1144.         return $this;
  1145.     }
  1146.     /**
  1147.      * @return Collection<int, DatosPlataformaPropertyList>
  1148.      */
  1149.     public function getDatosPlataformaPropertyLists(): Collection
  1150.     {
  1151.         return $this->datosPlataformaPropertyLists;
  1152.     }
  1153.     public function addDatosPlataformaPropertyList(DatosPlataformaPropertyList $datosPlataformaPropertyList): static
  1154.     {
  1155.         if (!$this->datosPlataformaPropertyLists->contains($datosPlataformaPropertyList)) {
  1156.             $this->datosPlataformaPropertyLists->add($datosPlataformaPropertyList);
  1157.             $datosPlataformaPropertyList->setIdPropertyList($this);
  1158.         }
  1159.         return $this;
  1160.     }
  1161.     public function removeDatosPlataformaPropertyList(DatosPlataformaPropertyList $datosPlataformaPropertyList): static
  1162.     {
  1163.         if ($this->datosPlataformaPropertyLists->removeElement($datosPlataformaPropertyList)) {
  1164.             // set the owning side to null (unless already changed)
  1165.             if ($datosPlataformaPropertyList->getIdPropertyList() === $this) {
  1166.                 $datosPlataformaPropertyList->setIdPropertyList(null);
  1167.             }
  1168.         }
  1169.         return $this;
  1170.     }
  1171.     public function getTipoTarifaSuministro(): ?TipoTarifaSuministros
  1172.     {
  1173.         return $this->tipoTarifaSuministro;
  1174.     }
  1175.     public function setTipoTarifaSuministro(?TipoTarifaSuministros $tipoTarifaSuministro): static
  1176.     {
  1177.         $this->tipoTarifaSuministro $tipoTarifaSuministro;
  1178.         return $this;
  1179.     }
  1180.     public function isCrearRecibos(): ?bool
  1181.     {
  1182.         return $this->crearRecibos;
  1183.     }
  1184.     public function setCrearRecibos(?bool $crearRecibos): static
  1185.     {
  1186.         $this->crearRecibos $crearRecibos;
  1187.         return $this;
  1188.     }
  1189.     public function getImportePorcentajeSuministro(): ?float
  1190.     {
  1191.         return $this->importePorcentajeSuministro;
  1192.     }
  1193.     public function setImportePorcentajeSuministro(?float $importePorcentajeSuministro): static
  1194.     {
  1195.         $this->importePorcentajeSuministro $importePorcentajeSuministro;
  1196.         return $this;
  1197.     }
  1198.     public function isConfigurarUtility(): ?bool
  1199.     {
  1200.         return $this->configurarUtility;
  1201.     }
  1202.     public function setConfigurarUtility(?bool $configurarUtility): static
  1203.     {
  1204.         $this->configurarUtility $configurarUtility;
  1205.         return $this;
  1206.     }
  1207.             
  1208. }