<?php
namespace App\Entity;
use App\Repository\ProductoProveedorRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=ProductoProveedorRepository::class)
*/
class ProductoProveedor
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $nombre;
/**
* @ORM\Column(type="dateinterval", nullable=true)
*/
private $duracion;
/**
* @ORM\Column(type="decimal", precision=10, scale=7, nullable=true)
*/
private $precioPotenciaP1;
/**
* @ORM\Column(type="decimal", precision=10, scale=7, nullable=true)
*/
private $precioPotenciaP2;
/**
* @ORM\Column(type="decimal", precision=10, scale=7, nullable=true)
*/
private $precioPotenciaP3;
/**
* @ORM\Column(type="decimal", precision=10, scale=7, nullable=true)
*/
private $precioPotenciaP4;
/**
* @ORM\Column(type="decimal", precision=10, scale=7, nullable=true)
*/
private $precioPotenciaP5;
/**
* @ORM\Column(type="decimal", precision=10, scale=7, nullable=true)
*/
private $precioPotenciaP6;
/**
* @ORM\Column(type="decimal", precision=10, scale=7, nullable=true)
*/
private $precioEnergiaP1;
/**
* @ORM\Column(type="decimal", precision=10, scale=7, nullable=true)
*/
private $precioEnergiaP2;
/**
* @ORM\Column(type="decimal", precision=10, scale=7, nullable=true)
*/
private $precioEnergiaP3;
/**
* @ORM\Column(type="decimal", precision=10, scale=7, nullable=true)
*/
private $precioEnergiaP4;
/**
* @ORM\Column(type="decimal", precision=10, scale=7, nullable=true)
*/
private $precioEnergiaP5;
/**
* @ORM\Column(type="decimal", precision=10, scale=7, nullable=true)
*/
private $precioEnergiaP6;
/**
* @ORM\Column(type="boolean")
*/
private $facturaElectronica;
/**
* @ORM\ManyToOne(targetEntity=Proveedor::class, inversedBy="productoProveedors")
* @ORM\JoinColumn(nullable=false)
*/
private $proveedor;
/**
* @ORM\OneToMany(targetEntity=Contrato::class, mappedBy="productoProveedor")
*/
private $contratos;
/**
* @ORM\ManyToOne(targetEntity=Tarifa::class, inversedBy="productoProveedors")
* @ORM\JoinColumn(nullable=true)
*/
private $tarifa;
/**
* @ORM\OneToMany(targetEntity=Concepto::class, mappedBy="productoProveedor", cascade={"persist", "remove"})
*/
private $servicios;
/**
* @ORM\Column(type="boolean")
*/
private $personalizado;
public function __construct()
{
$this->contratos = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getNombre(): ?string
{
return $this->nombre;
}
public function setNombre(string $nombre): self
{
$this->nombre = $nombre;
return $this;
}
public function getDuracion(): ?\DateInterval
{
return $this->duracion;
}
public function setDuracion(?\DateInterval $duracion): self
{
$this->duracion = $duracion;
return $this;
}
public function getPrecioPotenciaP1(): ?string
{
return $this->precioPotenciaP1;
}
public function setPrecioPotenciaP1(?string $precioPotenciaP1): self
{
$this->precioPotenciaP1 = $precioPotenciaP1;
return $this;
}
public function getPrecioPotenciaP2(): ?string
{
return $this->precioPotenciaP2;
}
public function setPrecioPotenciaP2(?string $precioPotenciaP2): self
{
$this->precioPotenciaP2 = $precioPotenciaP2;
return $this;
}
public function getPrecioPotenciaP3(): ?string
{
return $this->precioPotenciaP3;
}
public function setPrecioPotenciaP3(?string $precioPotenciaP3): self
{
$this->precioPotenciaP3 = $precioPotenciaP3;
return $this;
}
public function getPrecioPotenciaP4(): ?string
{
return $this->precioPotenciaP4;
}
public function setPrecioPotenciaP4(?string $precioPotenciaP4): self
{
$this->precioPotenciaP4 = $precioPotenciaP4;
return $this;
}
public function getPrecioPotenciaP5(): ?string
{
return $this->precioPotenciaP5;
}
public function setPrecioPotenciaP5(?string $precioPotenciaP5): self
{
$this->precioPotenciaP5 = $precioPotenciaP5;
return $this;
}
public function getPrecioPotenciaP6(): ?string
{
return $this->precioPotenciaP6;
}
public function setPrecioPotenciaP6(?string $precioPotenciaP6): self
{
$this->precioPotenciaP6 = $precioPotenciaP6;
return $this;
}
public function getPrecioEnergiaP1(): ?string
{
return $this->precioEnergiaP1;
}
public function setPrecioEnergiaP1(?string $precioEnergiaP1): self
{
$this->precioEnergiaP1 = $precioEnergiaP1;
return $this;
}
public function getPrecioEnergiaP2(): ?string
{
return $this->precioEnergiaP2;
}
public function setPrecioEnergiaP2(?string $precioEnergiaP2): self
{
$this->precioEnergiaP2 = $precioEnergiaP2;
return $this;
}
public function getPrecioEnergiaP3(): ?string
{
return $this->precioEnergiaP3;
}
public function setPrecioEnergiaP3(?string $precioEnergiaP3): self
{
$this->precioEnergiaP3 = $precioEnergiaP3;
return $this;
}
public function getPrecioEnergiaP4(): ?string
{
return $this->precioEnergiaP4;
}
public function setPrecioEnergiaP4(?string $precioEnergiaP4): self
{
$this->precioEnergiaP4 = $precioEnergiaP4;
return $this;
}
public function getPrecioEnergiaP5(): ?string
{
return $this->precioEnergiaP5;
}
public function setPrecioEnergiaP5(?string $precioEnergiaP5): self
{
$this->precioEnergiaP5 = $precioEnergiaP5;
return $this;
}
public function getPrecioEnergiaP6(): ?string
{
return $this->precioEnergiaP6;
}
public function setPrecioEnergiaP6(?string $precioEnergiaP6): self
{
$this->precioEnergiaP6 = $precioEnergiaP6;
return $this;
}
public function getFacturaElectronica(): ?bool
{
return $this->facturaElectronica;
}
public function setFacturaElectronica(bool $facturaElectronica): self
{
$this->facturaElectronica = $facturaElectronica;
return $this;
}
public function getProveedor(): ?Proveedor
{
return $this->proveedor;
}
public function setProveedor(?Proveedor $proveedor): self
{
$this->proveedor = $proveedor;
return $this;
}
/**
* @return Collection|Contrato[]
*/
public function getContratos(): Collection
{
return $this->contratos;
}
public function addContrato(Contrato $contrato): self
{
if (!$this->contratos->contains($contrato)) {
$this->contratos[] = $contrato;
$contrato->setProductoProveedor($this);
}
return $this;
}
public function removeContrato(Contrato $contrato): self
{
if ($this->contratos->contains($contrato)) {
$this->contratos->removeElement($contrato);
// set the owning side to null (unless already changed)
if ($contrato->getProductoProveedor() === $this) {
$contrato->setProductoProveedor(null);
}
}
return $this;
}
public function __toString():?string
{
return $this->nombre;
}
public function getTarifa(): ?Tarifa
{
return $this->tarifa;
}
public function setTarifa(?Tarifa $tarifa): self
{
$this->tarifa = $tarifa;
return $this;
}
/**
* @return Collection|Concepto[]
*/
public function getServicios(): Collection
{
return $this->servicios;
}
public function addServicio(Concepto $servicio): self
{
if (!$this->servicios->contains($servicio)) {
$this->servicios[] = $servicio;
$servicio->setProductoProveedor($this);
}
return $this;
}
public function removeServicio(Concepto $servicio): self
{
if ($this->servicios->contains($servicio)) {
$this->servicios->removeElement($servicio);
// set the owning side to null (unless already changed)
if ($servicio->getProductoProveedor() === $this) {
$servicio->setProductoProveedor(null);
}
}
return $this;
}
public function getPersonalizado(): ?bool
{
return $this->personalizado;
}
public function setPersonalizado(bool $personalizado): self
{
$this->personalizado = $personalizado;
return $this;
}
}