<?php
namespace App\Entity;
use App\Repository\AcuerdoNivelServicioRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=AcuerdoNivelServicioRepository::class)
*/
class AcuerdoNivelServicio
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $nombre;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $usuariosContratados;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $tokens_contratados;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $horario;
/**
* @ORM\Column(type="bigint", nullable=true)
*/
private $soporteBasicoMes;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $costoHora;
/**
* @ORM\OneToMany(targetEntity=Tiempo::class, mappedBy="AcuerdoNivelServicio", orphanRemoval=true)
*/
private $tiempos;
/**
* @ORM\OneToMany(targetEntity=Cliente::class, mappedBy="AcuerdoNivelServicio")
*/
private $clientes;
public function __construct()
{
$this->tiempos = new ArrayCollection();
$this->clientes = 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 getUsuariosContratados(): ?int
{
return $this->usuariosContratados;
}
public function setUsuariosContratados(?int $usuariosContratados): self
{
$this->usuariosContratados = $usuariosContratados;
return $this;
}
public function getTokensContratados(): ?int
{
return $this->tokens_contratados;
}
public function setTokensContratados(?int $tokens_contratados): self
{
$this->tokens_contratados = $tokens_contratados;
return $this;
}
public function getHorario(): ?string
{
return $this->horario;
}
public function setHorario(?string $horario): self
{
$this->horario = $horario;
return $this;
}
public function getSoporteBasicoMes(): ?string
{
return $this->soporteBasicoMes;
}
public function setSoporteBasicoMes(?string $soporteBasicoMes): self
{
$this->soporteBasicoMes = $soporteBasicoMes;
return $this;
}
public function getCostoHora(): ?int
{
return $this->costoHora;
}
public function setCostoHora(?int $costoHora): self
{
$this->costoHora = $costoHora;
return $this;
}
/**
* @return Collection<int, Tiempo>
*/
public function getTiempos(): Collection
{
return $this->tiempos;
}
public function addTiempo(Tiempo $tiempo): self
{
if (!$this->tiempos->contains($tiempo)) {
$this->tiempos[] = $tiempo;
$tiempo->setAcuerdoNivelServicio($this);
}
return $this;
}
public function removeTiempo(Tiempo $tiempo): self
{
if ($this->tiempos->removeElement($tiempo)) {
// set the owning side to null (unless already changed)
if ($tiempo->getAcuerdoNivelServicio() === $this) {
$tiempo->setAcuerdoNivelServicio(null);
}
}
return $this;
}
/**
* @return Collection<int, Cliente>
*/
public function getClientes(): Collection
{
return $this->clientes;
}
public function addCliente(Cliente $cliente): self
{
if (!$this->clientes->contains($cliente)) {
$this->clientes[] = $cliente;
$cliente->setAcuerdoNivelServicio($this);
}
return $this;
}
public function removeCliente(Cliente $cliente): self
{
if ($this->clientes->removeElement($cliente)) {
// set the owning side to null (unless already changed)
if ($cliente->getAcuerdoNivelServicio() === $this) {
$cliente->setAcuerdoNivelServicio(null);
}
}
return $this;
}
}