<?php
namespace App\Entity;
use App\Entity\Documents;
use App\Entity\PropertyDetails;
use App\Entity\PotentialClients;
use Doctrine\ORM\Mapping as ORM;
use App\Entity\TipoTarifaFijaSuministros;
use App\Repository\PropertyListRepository;
use Doctrine\Common\Collections\Collection;
use Symfony\Component\HttpFoundation\File\File;
use Doctrine\Common\Collections\ArrayCollection;
use Vich\UploaderBundle\Mapping\Annotation as Vich;
#[ORM\Entity(repositoryClass: PropertyListRepository::class)]
#[ORM\Table(name: '`propertylist`')]
#[Vich\Uploadable]
class PropertyList
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(length: 255, nullable:true)]
private ?string $propertyAddress = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $flatNumber = null;
#[ORM\Column(length: 255)]
private ?string $propertyType = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $deliveryType = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $rentalType = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $size = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $builtType = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $landlord_name = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $landlordSurname = null;
#[ORM\Column(length: 255,nullable:true)]
private ?string $property_city = null;
#[ORM\Column(nullable: true)]
private ?float $property_price = null;
#[ORM\Column(length: 255,nullable:true)]
private ?bool $property_available = null;
#[ORM\Column(nullable:true)]
private ?bool $furnished = null;
#[ORM\Column(length: 255, nullable:true)]
private ?string $postcode = null;
/*
#[ORM\ManyToOne(inversedBy: 'property')]
#[ORM\JoinColumn]
private ?Landlords $landlords = null;
*/
#[ORM\OneToMany(mappedBy: 'property', targetEntity: Tenants::class, cascade: ['persist'])]
#[ORM\OrderBy(["id"=>"ASC"])]
private Collection $tenants;
#[ORM\ManyToMany(targetEntity: PotentialClients::class, mappedBy: 'property', cascade: ['persist'])]
private Collection $potentialClients;
#[ORM\OneToMany(mappedBy: 'property_videos', targetEntity: Videos::class, cascade: ['persist', 'remove'])]
private Collection $videos;
#[ORM\OneToMany(mappedBy: 'properties', targetEntity: Documents::class, cascade: ['persist', 'remove'])]
private Collection $documents;
/*
#[ORM\Column(length: 255, nullable: true)]
private ?string $image = null;
*/
#[ORM\OneToMany(mappedBy: 'property_image', targetEntity: Image::class, cascade: ['persist', 'remove'])]
#[ORM\OrderBy(["orden"=>"ASC"])]
private Collection $images;
#[ORM\Column(length: 255, nullable: true)]
private ?string $property_number = null;
#[ORM\OneToOne(inversedBy: 'propertyList', cascade: ['persist', 'remove'])]
private ?PropertyDetails $propertyDetails;
#[ORM\ManyToMany(targetEntity: Landlords::class, mappedBy: 'property',cascade: ['persist'])]
private Collection $landlords;
#[ORM\Column(nullable: true)]
private ?int $year = null;
#[ORM\OneToMany(mappedBy: 'property', targetEntity: Percentage::class,cascade: ['persist', 'remove'])]
private Collection $percentages;
#[ORM\ManyToOne(inversedBy: 'propertiesListed')]
private ?Broker $listingAgent = null;
#[ORM\ManyToOne(inversedBy: 'propertiesSold')]
private ?Broker $sellingAgent = null;
#[ORM\ManyToOne(inversedBy: 'propertiesManaged')]
private ?Broker $managingAgent = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $province = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $floor = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $bloque = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $escalera = null;
#[ORM\Column(nullable: true)]
private ?\DateTimeImmutable $createdAt = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $status = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $reason = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $reference = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $barrio = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $subType = null;
#[ORM\Column(nullable: true)]
private ?float $precioAlquiler = null;
#[ORM\Column(nullable: true)]
private ?float $precioTraspaso = null;
#[ORM\OneToMany(mappedBy: 'property', targetEntity: Utilities::class)]
private Collection $utilities;
#[ORM\OneToMany(mappedBy: 'property', targetEntity: Invoices::class)]
private Collection $invoices;
#[ORM\OneToMany(mappedBy: 'property', targetEntity: MonthlyReport::class)]
private Collection $monthlyReports;
#[ORM\OneToMany(mappedBy: 'property', targetEntity: MonthlyPayments::class)]
private Collection $monthlyPayments;
#[ORM\OneToMany(mappedBy: 'property', targetEntity: PaymentDoc::class)]
private Collection $paymentDocs;
#[ORM\Column(nullable: true)]
private ?float $utiles = null;
#[ORM\Column(length: 60, nullable: true)]
private ?string $typePropertyAddress = null;
#[ORM\ManyToOne(inversedBy: 'propertyLists')]
private ?ZonasPoblaciones $idzona = null;
#[ORM\OneToMany(mappedBy: 'property', targetEntity: UtilitiesProperty::class)]
private Collection $utilitiesProperties;
#[ORM\OneToMany(mappedBy: 'property', targetEntity: RecibosTenants::class)]
private Collection $recibosTenants;
#[ORM\OneToMany(mappedBy: 'property', targetEntity: Liquidaciones::class)]
private Collection $liquidaciones;
#[ORM\Column(nullable: true)]
private ?bool $gestionInmobiliaria = null;
#[ORM\Column(nullable: true)]
private ?float $importeGestionInmobiliaria = null;
#[ORM\ManyToOne(inversedBy: 'propertyLists')]
private ?TipoComision $tipoComisionInmobiliaria = null;
#[ORM\OneToMany(mappedBy: 'property', targetEntity: RecibosGestion::class)]
private Collection $recibosGestions;
#[ORM\OneToMany(mappedBy: 'property', targetEntity: RecibosReparaciones::class)]
private Collection $recibosReparaciones;
#[ORM\OneToMany(mappedBy: 'property', targetEntity: NotasPropiedad::class, cascade: ['remove'])]
private Collection $notasPropiedads;
#[ORM\ManyToOne(inversedBy: 'propertyListsFacturacions')]
private ?Landlords $propietarioFacturacion = null;
#[ORM\ManyToMany(targetEntity: PlataformasPublicacion::class, mappedBy: 'listaPropiedades', cascade:['persist'])]
private Collection $plataformasPublicacions;
#[ORM\OneToMany(mappedBy: 'idPropertyList', targetEntity: DatosPlataformaPropertyList::class)]
private Collection $datosPlataformaPropertyLists;
#[ORM\ManyToOne(inversedBy: 'propertyLists')]
private ?TipoTarifaSuministros $tipoTarifaSuministro = null;
#[ORM\Column(nullable: true)]
private ?bool $crearRecibos = null;
#[ORM\Column(nullable: true)]
private ?float $importePorcentajeSuministro = null;
#[ORM\Column(nullable: true)]
private ?bool $configurarUtility = null;
/*
#[ORM\OneToMany(mappedBy: 'property', targetEntity: Percentage::class,cascade: ['persist', 'remove'])]
private Collection $percentages;
#[ORM\ManyToOne(inversedBy: 'property')]
private ?Percentage $percentage = null;
#[ORM\OneToOne(inversedBy: 'PropertyList', targetEntity: PropertyList::class, cascade: ['persist', 'remove'])]
private ?PropertyDetails $propertyDetails;
//#[ORM\OneToMany(mappedBy: 'property', targetEntity: PotentialClient::class)]
//private Collection $potentialClients;
#[ORM\OneToMany(mappedBy: 'property', targetEntity: Bedroom::class , cascade: ['persist', 'remove'])]
private Collection $bedrooms;
*/
public function __toString(): string
{
//return $this->getId();
//return $this->getReference() ?? "";
return $this->getDescPropiedad();
}
public function getDescPropiedad():string{
$texto=$this->propertyAddress." ".($this->property_number ?? "");
if($this->floor!==null){ $texto.=", ".$this->floor."º"; }
if($this->flatNumber!==null){ $texto.=" ".$this->flatNumber; }
if($this->postcode!==null){ $texto.=" - ".$this->postcode; }
if($this->property_city!==null){ $texto.=" (".$this->property_city.")"; }
return $texto;
//return $this->propertyAddress." ".($this->property_number ?? "")." ".($this->floor ?? "")." ".
// ($this->flatNumber ?? "")." - ".($this->postcode ?? "")." (".($this->property_city ?? "").")";
}
public function __construct()
{
//$this->bedrooms = new ArrayCollection();
$this->potentialClients = new ArrayCollection();
$this->tenants = new ArrayCollection();
$this->documents = new ArrayCollection();
$this->images = new ArrayCollection();
$this->videos = new ArrayCollection();
$this->propertyDetails = new PropertyDetails();
$this->landlords = new ArrayCollection();
$this->percentages = new ArrayCollection();
$this->utilities = new ArrayCollection();
$this->invoices = new ArrayCollection();
$this->monthlyReports = new ArrayCollection();
$this->monthlyPayments = new ArrayCollection();
$this->paymentDocs = new ArrayCollection();
$this->reference= uniqid();
$this->utilitiesProperties = new ArrayCollection();
$this->recibosTenants = new ArrayCollection();
$this->liquidaciones = new ArrayCollection();
$this->recibosGestions = new ArrayCollection();
$this->recibosReparaciones = new ArrayCollection();
$this->notasPropiedads = new ArrayCollection();
$this->plataformasPublicacions = new ArrayCollection();
$this->datosPlataformaPropertyLists = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getPropertyAddress(): ?string
{
return $this->propertyAddress;
}
public function setPropertyAddress(string $propertyAddress): self
{
$this->propertyAddress = $propertyAddress;
return $this;
}
public function getFlatNumber(): ?string
{
return $this->flatNumber;
}
public function setFlatNumber(?string $flatNumber): self
{
$this->flatNumber = $flatNumber;
return $this;
}
public function getPropertyCity(): ?string
{
return $this->property_city;
}
public function setPropertyCity(string $property_city): self
{
$this->property_city = $property_city;
return $this;
}
public function getPostcode(): ?string
{
return $this->postcode;
}
public function setPostcode(string $postcode): self
{
$this->postcode = $postcode;
return $this;
}
public function getPropertyType(): ?string
{
return $this->propertyType;
}
public function setPropertyType(string $propertyType): self
{
$this->propertyType = $propertyType;
return $this;
}
public function getLandlordName(): ?string
{
return $this->landlord_name;
}
public function setLandlordName(string $landlord_name): self
{
$this->landlord_name = $landlord_name;
return $this;
}
public function getLandlordSurname(): ?string
{
return $this->landlordSurname;
}
public function setLandlordSurname(string $landlordSurname): self
{
$this->landlordSurname = $landlordSurname;
return $this;
}
public function getPropertyPrice(): ?float
{
return $this->property_price;
}
public function setPropertyPrice(?float $property_price): self
{
$this->property_price = $property_price;
return $this;
}
public function isFurnished(): ?bool
{
return $this->furnished;
}
public function setFurnished(bool $furnished): self
{
$this->furnished = $furnished;
return $this;
}
public function isPropertyAvailable(): ?bool
{
return $this->property_available;
}
public function setPropertyAvailable(bool $property_available): self
{
$this->property_available = $property_available;
return $this;
}
/**
* return Collection<int, Bedroom>
*/
//public function getBedrooms(): Collection
//{
// return $this->bedrooms;
//}
//public function addBedroom(Bedroom $bedroom): self
//{
// if (!$this->bedrooms->contains($bedroom)) {
// $this->bedrooms->add($bedroom);
// $bedroom->setProperty($this);
// }
// return $this;
//}
//public function removeBedroom(Bedroom $bedroom): self
//{
// if ($this->bedrooms->removeElement($bedroom)) {
// // set the owning side to null (unless already changed)
// if ($bedroom->getProperty() === $this) {
// $bedroom->setProperty(null);
// }
// }
// return $this;
//}
/*
public function getLandlords(): ?Landlords
{
return $this->landlords;
}
public function setLandlords(?Landlords $landlords): self
{
$this->landlords = $landlords;
return $this;
}
*/
/**
* @return Collection<int, Tenants>
*/
public function getTenants(): Collection
{
return $this->tenants;
}
public function addTenant(Tenants $tenant): self
{
if (!$this->tenants->contains($tenant)) {
$this->tenants->add($tenant);
$tenant->setProperty($this);
}
return $this;
}
public function removeTenant(Tenants $tenant): self
{
if ($this->tenants->removeElement($tenant)) {
// set the owning side to null (unless already changed)
if ($tenant->getProperty() === $this) {
$tenant->setProperty(null);
}
}
return $this;
}
/**
* @return Collection<int, PotentialClients>
*/
public function getPotentialClients(): Collection
{
return $this->potentialClients;
}
/*
public function setPotentialClients(ArrayCollection $potentialClients): self
{
$this->potentialClients = $potentialClients;
return $this;
}
*/
public function addPotentialClient(PotentialClients $potentialClient): self
{
if (!$this->potentialClients->contains($potentialClient)) {
$this->potentialClients->add($potentialClient);
$potentialClient->addProperty($this);
}
return $this;
}
public function removePotentialClient(PotentialClients $potentialClient): self
{
if ($this->potentialClients->removeElement($potentialClient)) {
$potentialClient->removeProperty($this);
}
return $this;
}
/**
* @return Collection<int, Videos>
*/
public function getVideos(): Collection
{
return $this->videos;
}
public function addVideo(Videos $video): self
{
if (!$this->videos->contains($video)) {
$this->videos->add($video);
$video->setPropertyVideos($this);
}
return $this;
}
public function removeVideo(Videos $video): self
{
if ($this->videos->removeElement($video)) {
// set the owning side to null (unless already changed)
if ($video->getPropertyVideos() === $this) {
$video->setPropertyVideos(null);
}
}
return $this;
}
/**
* @return Collection<int, Documents>
*/
public function getDocuments(): Collection
{
return $this->documents;
}
public function addDocument(Documents $document): self
{
if (!$this->documents->contains($document)) {
$this->documents->add($document);
$document->setProperties($this);
}
return $this;
}
public function removeDocument(Documents $document): self
{
if ($this->documents->removeElement($document)) {
// set the owning side to null (unless already changed)
if ($document->getProperties() === $this) {
$document->setProperties(null);
}
}
return $this;
}
/**
* @return Collection<int, Image>
*/
public function getImages(): Collection
{
return $this->images;
}
public function addImage(Image $image): self
{
if (!$this->images->contains($image)) {
$this->images->add($image);
$image->setPropertyImage($this);
}
return $this;
}
public function removeImage(Image $image): self
{
if ($this->images->removeElement($image)) {
// set the owning side to null (unless already changed)
if ($image->getPropertyImage() === $this) {
$image->setPropertyImage(null);
}
}
return $this;
}
public function getPropertyNumber(): ?string
{
return $this->property_number;
}
public function setPropertyNumber(?string $property_number): self
{
$this->property_number = $property_number;
return $this;
}
public function getPropertyDetails(): ?PropertyDetails
{
return $this->propertyDetails;
}
public function setPropertyDetails(?PropertyDetails $propertyDetails): self
{
$this->propertyDetails = $propertyDetails;
return $this;
}
public function getDeliveryType(): ?string
{
return $this->deliveryType;
}
public function setDeliveryType(?string $deliveryType): self
{
$this->deliveryType = $deliveryType;
return $this;
}
public function getRentalType(): ?string
{
return $this->rentalType;
}
public function setRentalType(?string $rentalType): self
{
$this->rentalType = $rentalType;
return $this;
}
public function getSize(): ?string
{
return $this->size;
}
public function setSize(?string $size): self
{
$this->size = $size;
return $this;
}
public function getBuiltType(): ?string
{
return $this->builtType;
}
public function setBuiltType(?string $builtType): self
{
$this->builtType = $builtType;
return $this;
}
/**
* @return Collection<int, Landlords>
*/
public function getLandlords(): Collection
{
return $this->landlords;
}
public function addLandlord(Landlords $landlord): self
{
if (!$this->landlords->contains($landlord)) {
$this->landlords->add($landlord);
$landlord->addProperty($this);
}
return $this;
}
public function removeLandlord(Landlords $landlord): self
{
if ($this->landlords->removeElement($landlord)) {
$landlord->removeProperty($this);
}
return $this;
}
public function getYear(): ?int
{
return $this->year;
}
public function setYear(?int $year): self
{
$this->year = $year;
return $this;
}
/*
/**
* @return Collection<int, Percentage>
*/
/* public function getPercentages(): Collection
{
return $this->percentages;
}
public function addPercentage(Percentage $percentage): self
{
if (!$this->percentages->contains($percentage)) {
$this->percentages->add($percentage);
$percentage->setProperty($this);
}
return $this;
}
public function removePercentage(Percentage $percentage): self
{
if ($this->percentages->removeElement($percentage)) {
// set the owning side to null (unless already changed)
if ($percentage->getProperty() === $this) {
$percentage->setProperty(null);
}
}
return $this;
}
*/
/**
* @return Collection<int, Percentage>
*/
public function getPercentages(): Collection
{
return $this->percentages;
}
public function addPercentage(Percentage $percentage): self
{
if (!$this->percentages->contains($percentage)) {
$this->percentages->add($percentage);
$percentage->setProperty($this);
}
return $this;
}
public function removePercentage(Percentage $percentage): self
{
if ($this->percentages->removeElement($percentage)) {
// set the owning side to null (unless already changed)
if ($percentage->getProperty() === $this) {
$percentage->setProperty(null);
}
}
return $this;
}
public function getListingAgent(): ?Broker
{
return $this->listingAgent;
}
public function setListingAgent(?Broker $listingAgent): self
{
$this->listingAgent = $listingAgent;
return $this;
}
public function getSellingAgent(): ?Broker
{
return $this->sellingAgent;
}
public function setSellingAgent(?Broker $sellingAgent): self
{
$this->sellingAgent = $sellingAgent;
return $this;
}
public function getManagingAgent(): ?Broker
{
return $this->managingAgent;
}
public function setManagingAgent(?Broker $managingAgent): self
{
$this->managingAgent = $managingAgent;
return $this;
}
public function getProvince(): ?string
{
return $this->province;
}
public function setProvince(?string $province): self
{
$this->province = $province;
return $this;
}
public function getFloor(): ?string
{
return $this->floor;
}
public function setFloor(?string $floor): self
{
$this->floor = $floor;
return $this;
}
public function getBloque(): ?string
{
return $this->bloque;
}
public function setBloque(?string $bloque): self
{
$this->bloque = $bloque;
return $this;
}
public function getEscalera(): ?string
{
return $this->escalera;
}
public function setEscalera(?string $escalera): self
{
$this->escalera = $escalera;
return $this;
}
public function getCreatedAt(): ?\DateTimeImmutable
{
return $this->createdAt;
}
public function setCreatedAt(?\DateTimeImmutable $createdAt): self
{
$this->createdAt = $createdAt;
return $this;
}
public function getReason(): ?string
{
return $this->reason;
}
public function setReason(?string $reason): self
{
$this->reason = $reason;
return $this;
}
public function getReference(): ?string
{
return $this->reference;
}
public function setReference(?string $reference): self
{
$this->reference = $reference;
return $this;
}
public function getBarrio(): ?string
{
return $this->barrio;
}
public function setBarrio(?string $barrio): self
{
$this->barrio = $barrio;
return $this;
}
public function getSubType(): ?string
{
return $this->subType;
}
public function setSubType(?string $subType): self
{
$this->subType = $subType;
return $this;
}
public function getStatus(): ?string
{
return $this->status;
}
public function setStatus(?string $status): self
{
$this->status = $status;
return $this;
}
public function getPrecioAlquiler(): ?float
{
return $this->precioAlquiler;
}
public function setPrecioAlquiler(?float $precioAlquiler): self
{
$this->precioAlquiler = $precioAlquiler;
return $this;
}
public function getPrecioTraspaso(): ?float
{
return $this->precioTraspaso;
}
public function setPrecioTraspaso(?float $precioTraspaso): self
{
$this->precioTraspaso = $precioTraspaso;
return $this;
}
/**
* @return Collection<int, Utilities>
*/
public function getUtilities(): Collection
{
return $this->utilities;
}
public function addUtility(Utilities $utility): self
{
if (!$this->utilities->contains($utility)) {
$this->utilities->add($utility);
$utility->setProperty($this);
}
return $this;
}
public function removeUtility(Utilities $utility): self
{
if ($this->utilities->removeElement($utility)) {
// set the owning side to null (unless already changed)
if ($utility->getProperty() === $this) {
$utility->setProperty(null);
}
}
return $this;
}
/**
* @return Collection<int, Invoices>
*/
public function getInvoices(): Collection
{
return $this->invoices;
}
public function addInvoice(Invoices $invoice): self
{
if (!$this->invoices->contains($invoice)) {
$this->invoices->add($invoice);
$invoice->setProperty($this);
}
return $this;
}
public function removeInvoice(Invoices $invoice): self
{
if ($this->invoices->removeElement($invoice)) {
// set the owning side to null (unless already changed)
if ($invoice->getProperty() === $this) {
$invoice->setProperty(null);
}
}
return $this;
}
/**
* @return Collection<int, MonthlyReport>
*/
public function getMonthlyReports(): Collection
{
return $this->monthlyReports;
}
public function addMonthlyReport(MonthlyReport $monthlyReport): self
{
if (!$this->monthlyReports->contains($monthlyReport)) {
$this->monthlyReports->add($monthlyReport);
$monthlyReport->setProperty($this);
}
return $this;
}
public function removeMonthlyReport(MonthlyReport $monthlyReport): self
{
if ($this->monthlyReports->removeElement($monthlyReport)) {
// set the owning side to null (unless already changed)
if ($monthlyReport->getProperty() === $this) {
$monthlyReport->setProperty(null);
}
}
return $this;
}
/*
public function monthlyCost(): float
{
if ($this->getRentalType() === 'por Habitaciones') {
$rentedBedrooms = 0;
$rentedBedroomsCost = 0;
$totalBedrooms = $this->getPropertyDetails()->getBedroomNumber();
foreach ($this->getPropertyDetails()->getBedrooms() as $bedroom) {
if ($bedroom->isIsRented()) {
$rentedBedrooms++;
$rentedBedroomsCost += $bedroom->getBedroomPrice();
}
}
return $rentedBedroomsCost / $totalBedrooms;
} else if ($this->getRentalType() === 'propiedad entera') {
//$rentedBedrooms = $totalBedrooms;
$rent = $this->getPrecioAlquiler();
return $rent;
} else {
$notForRent='Este inmueble no se alquila.';
return $notForRent;
}
}
*/
/**
* @return Collection<int, MonthlyPayments>
*/
public function getMonthlyPayments(): Collection
{
return $this->monthlyPayments;
}
public function addMonthlyPayment(MonthlyPayments $monthlyPayment): self
{
if (!$this->monthlyPayments->contains($monthlyPayment)) {
$this->monthlyPayments->add($monthlyPayment);
$monthlyPayment->setProperty($this);
}
return $this;
}
public function removeMonthlyPayment(MonthlyPayments $monthlyPayment): self
{
if ($this->monthlyPayments->removeElement($monthlyPayment)) {
// set the owning side to null (unless already changed)
if ($monthlyPayment->getProperty() === $this) {
$monthlyPayment->setProperty(null);
}
}
return $this;
}
/**
* @return Collection<int, PaymentDoc>
*/
public function getPaymentDocs(): Collection
{
return $this->paymentDocs;
}
public function addPaymentDoc(PaymentDoc $paymentDoc): self
{
if (!$this->paymentDocs->contains($paymentDoc)) {
$this->paymentDocs->add($paymentDoc);
$paymentDoc->setProperty($this);
}
return $this;
}
public function removePaymentDoc(PaymentDoc $paymentDoc): self
{
if ($this->paymentDocs->removeElement($paymentDoc)) {
// set the owning side to null (unless already changed)
if ($paymentDoc->getProperty() === $this) {
$paymentDoc->setProperty(null);
}
}
return $this;
}
public function getUtiles(): ?float
{
return $this->utiles;
}
public function setUtiles(?float $utiles): self
{
$this->utiles = $utiles;
return $this;
}
public function getTypePropertyAddress(): ?string
{
return $this->typePropertyAddress;
}
public function setTypePropertyAddress(?string $typePropertyAddress): self
{
$this->typePropertyAddress = $typePropertyAddress;
return $this;
}
public function getIdzona(): ?ZonasPoblaciones
{
return $this->idzona;
}
public function setIdzona(?ZonasPoblaciones $idzona): self
{
$this->idzona = $idzona;
return $this;
}
/**
* @return Collection<int, UtilitiesProperty>
*/
public function getUtilitiesProperties(): Collection
{
return $this->utilitiesProperties;
}
public function addUtilitiesProperty(UtilitiesProperty $utilitiesProperty): static
{
if (!$this->utilitiesProperties->contains($utilitiesProperty)) {
$this->utilitiesProperties->add($utilitiesProperty);
$utilitiesProperty->setProperty($this);
}
return $this;
}
public function removeUtilitiesProperty(UtilitiesProperty $utilitiesProperty): static
{
if ($this->utilitiesProperties->removeElement($utilitiesProperty)) {
// set the owning side to null (unless already changed)
if ($utilitiesProperty->getProperty() === $this) {
$utilitiesProperty->setProperty(null);
}
}
return $this;
}
/**
* @return Collection<int, RecibosTenants>
*/
public function getRecibosTenants(): Collection
{
return $this->recibosTenants;
}
public function addRecibosTenant(RecibosTenants $recibosTenant): static
{
if (!$this->recibosTenants->contains($recibosTenant)) {
$this->recibosTenants->add($recibosTenant);
$recibosTenant->setProperty($this);
}
return $this;
}
public function removeRecibosTenant(RecibosTenants $recibosTenant): static
{
if ($this->recibosTenants->removeElement($recibosTenant)) {
// set the owning side to null (unless already changed)
if ($recibosTenant->getProperty() === $this) {
$recibosTenant->setProperty(null);
}
}
return $this;
}
/**
* @return Collection<int, Liquidaciones>
*/
public function getLiquidaciones(): Collection
{
return $this->liquidaciones;
}
public function addLiquidacione(Liquidaciones $liquidacione): static
{
if (!$this->liquidaciones->contains($liquidacione)) {
$this->liquidaciones->add($liquidacione);
$liquidacione->setProperty($this);
}
return $this;
}
public function removeLiquidacione(Liquidaciones $liquidacione): static
{
if ($this->liquidaciones->removeElement($liquidacione)) {
// set the owning side to null (unless already changed)
if ($liquidacione->getProperty() === $this) {
$liquidacione->setProperty(null);
}
}
return $this;
}
public function isGestionInmobiliaria(): ?bool
{
return $this->gestionInmobiliaria;
}
public function setGestionInmobiliaria(?bool $gestionInmobiliaria): static
{
$this->gestionInmobiliaria = $gestionInmobiliaria;
return $this;
}
public function getImporteGestionInmobiliaria(): ?float
{
return $this->importeGestionInmobiliaria;
}
public function setImporteGestionInmobiliaria(?float $importeGestionInmobiliaria): static
{
$this->importeGestionInmobiliaria = $importeGestionInmobiliaria;
return $this;
}
public function getTipoComisionInmobiliaria(): ?TipoComision
{
return $this->tipoComisionInmobiliaria;
}
public function setTipoComisionInmobiliaria(?TipoComision $tipoComisionInmobiliaria): static
{
$this->tipoComisionInmobiliaria = $tipoComisionInmobiliaria;
return $this;
}
/**
* @return Collection<int, RecibosGestion>
*/
public function getRecibosGestions(): Collection
{
return $this->recibosGestions;
}
public function addRecibosGestion(RecibosGestion $recibosGestion): static
{
if (!$this->recibosGestions->contains($recibosGestion)) {
$this->recibosGestions->add($recibosGestion);
$recibosGestion->setProperty($this);
}
return $this;
}
public function removeRecibosGestion(RecibosGestion $recibosGestion): static
{
if ($this->recibosGestions->removeElement($recibosGestion)) {
// set the owning side to null (unless already changed)
if ($recibosGestion->getProperty() === $this) {
$recibosGestion->setProperty(null);
}
}
return $this;
}
/**
* @return Collection<int, RecibosReparaciones>
*/
public function getRecibosReparaciones(): Collection
{
return $this->recibosReparaciones;
}
public function addRecibosReparacione(RecibosReparaciones $recibosReparacione): static
{
if (!$this->recibosReparaciones->contains($recibosReparacione)) {
$this->recibosReparaciones->add($recibosReparacione);
$recibosReparacione->setProperty($this);
}
return $this;
}
public function removeRecibosReparacione(RecibosReparaciones $recibosReparacione): static
{
if ($this->recibosReparaciones->removeElement($recibosReparacione)) {
// set the owning side to null (unless already changed)
if ($recibosReparacione->getProperty() === $this) {
$recibosReparacione->setProperty(null);
}
}
return $this;
}
/**
* @return Collection<int, NotasPropiedad>
*/
public function getNotasPropiedads(): Collection
{
return $this->notasPropiedads;
}
public function addNotasPropiedad(NotasPropiedad $notasPropiedad): static
{
if (!$this->notasPropiedads->contains($notasPropiedad)) {
$this->notasPropiedads->add($notasPropiedad);
$notasPropiedad->setProperty($this);
}
return $this;
}
public function removeNotasPropiedad(NotasPropiedad $notasPropiedad): static
{
if ($this->notasPropiedads->removeElement($notasPropiedad)) {
// set the owning side to null (unless already changed)
if ($notasPropiedad->getProperty() === $this) {
$notasPropiedad->setProperty(null);
}
}
return $this;
}
public function getPropietarioFacturacion(): ?Landlords
{
return $this->propietarioFacturacion;
}
public function setPropietarioFacturacion(?Landlords $propietarioFacturacion): static
{
$this->propietarioFacturacion = $propietarioFacturacion;
return $this;
}
/**
* @return Collection<int, PlataformasPublicacion>
*/
public function getPlataformasPublicacions(): Collection
{
return $this->plataformasPublicacions;
}
public function addPlataformasPublicacion(PlataformasPublicacion $plataformasPublicacion): static
{
if (!$this->plataformasPublicacions->contains($plataformasPublicacion)) {
$this->plataformasPublicacions->add($plataformasPublicacion);
$plataformasPublicacion->addListaPropiedade($this);
}
return $this;
}
public function removePlataformasPublicacion(PlataformasPublicacion $plataformasPublicacion): static
{
if ($this->plataformasPublicacions->removeElement($plataformasPublicacion)) {
$plataformasPublicacion->removeListaPropiedade($this);
}
return $this;
}
/**
* @return Collection<int, DatosPlataformaPropertyList>
*/
public function getDatosPlataformaPropertyLists(): Collection
{
return $this->datosPlataformaPropertyLists;
}
public function addDatosPlataformaPropertyList(DatosPlataformaPropertyList $datosPlataformaPropertyList): static
{
if (!$this->datosPlataformaPropertyLists->contains($datosPlataformaPropertyList)) {
$this->datosPlataformaPropertyLists->add($datosPlataformaPropertyList);
$datosPlataformaPropertyList->setIdPropertyList($this);
}
return $this;
}
public function removeDatosPlataformaPropertyList(DatosPlataformaPropertyList $datosPlataformaPropertyList): static
{
if ($this->datosPlataformaPropertyLists->removeElement($datosPlataformaPropertyList)) {
// set the owning side to null (unless already changed)
if ($datosPlataformaPropertyList->getIdPropertyList() === $this) {
$datosPlataformaPropertyList->setIdPropertyList(null);
}
}
return $this;
}
public function getTipoTarifaSuministro(): ?TipoTarifaSuministros
{
return $this->tipoTarifaSuministro;
}
public function setTipoTarifaSuministro(?TipoTarifaSuministros $tipoTarifaSuministro): static
{
$this->tipoTarifaSuministro = $tipoTarifaSuministro;
return $this;
}
public function isCrearRecibos(): ?bool
{
return $this->crearRecibos;
}
public function setCrearRecibos(?bool $crearRecibos): static
{
$this->crearRecibos = $crearRecibos;
return $this;
}
public function getImportePorcentajeSuministro(): ?float
{
return $this->importePorcentajeSuministro;
}
public function setImportePorcentajeSuministro(?float $importePorcentajeSuministro): static
{
$this->importePorcentajeSuministro = $importePorcentajeSuministro;
return $this;
}
public function isConfigurarUtility(): ?bool
{
return $this->configurarUtility;
}
public function setConfigurarUtility(?bool $configurarUtility): static
{
$this->configurarUtility = $configurarUtility;
return $this;
}
}