<?php
namespace App\Application\Internit\UnidadeClienteBundle\Entity;
use App\Application\Internit\ComunicadoBundle\Entity\Comunicado;
use App\Application\Internit\DownloadBundle\Entity\Download;
use App\Application\Internit\UnidadeClienteBundle\Repository\UnidadeClienteRepository;
use App\Application\Internit\TipoClienteBundle\Entity\TipoCliente;
use App\Application\Internit\ClienteBundle\Entity\Cliente;
use App\Application\Internit\UnidadeBundle\Entity\Unidade;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Validator\Constraints as Assert;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use App\Entity\SonataMediaGallery;
use App\Entity\SonataMediaMedia;
use Doctrine\ORM\Mapping as ORM;
use DateTime;
/** Info: */
#[ORM\Table(name: 'unidade_cliente')]
#[ORM\Entity(repositoryClass: UnidadeClienteRepository::class)]
#[UniqueEntity('id')]
class UnidadeCliente
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(name: 'id', type: 'integer', unique: true, nullable: false)]
private ?int $id = null;
#[ORM\Column(name: 'import', type: 'boolean', unique: false, nullable: true)]
private ?bool $import;
#[Assert\Range(
notInRangeMessage: 'O percentual de participacao deve estar entre {{ min }}% e {{ max }}%',
min: 0,
max: 100,
)]
#[ORM\Column(name: 'percentualParticipacao', type: 'decimal', nullable: true)]
private float $percentualParticipacao;
#[ORM\Column(name: 'ativo', type: 'boolean', unique: false, nullable: true)]
private ?bool $ativo = null;
#[ORM\ManyToOne(targetEntity: TipoCliente::class)]
#[ORM\JoinColumn(name: 'tipoCliente_id', referencedColumnName: 'id', onDelete: 'SET NULL')]
private TipoCliente|null $tipoCliente = null;
#[ORM\ManyToOne(targetEntity: Cliente::class, inversedBy: 'unidades')]
#[ORM\JoinColumn(name: 'cliente_id', referencedColumnName: 'id', onDelete: 'SET NULL')]
private Cliente|null $cliente = null;
#[ORM\ManyToOne(targetEntity: Unidade::class, inversedBy: 'clientes')]
#[ORM\JoinColumn(name: 'unidade_id', referencedColumnName: 'id', onDelete: 'SET NULL')]
private Unidade|null $unidade = null;
#[ORM\ManyToMany(targetEntity: Comunicado::class, mappedBy: 'unidadeCliente')]
private Collection $comunicados;
#[ORM\ManyToMany(targetEntity: Download::class, mappedBy: 'unidadeCliente')]
private Collection $downloads;
private $empreendimento;
private $bloco;
public function __construct()
{
$this->comunicados = new ArrayCollection();
$this->downloads = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getImport(): ?bool
{
return $this->import;
}
public function setImport(?bool $import): void
{
$this->import = $import;
}
public function getTipoCliente(): ?TipoCliente
{
return $this->tipoCliente;
}
public function setTipoCliente(?TipoCliente $tipoCliente): void
{
$this->tipoCliente = $tipoCliente;
}
public function getCliente(): ?Cliente
{
return $this->cliente;
}
public function setCliente(?Cliente $cliente): void
{
$this->cliente = $cliente;
}
public function getUnidade(): ?Unidade
{
return $this->unidade;
}
public function setUnidade(?Unidade $unidade): void
{
$this->unidade = $unidade;
}
public function getEmpreendimento()
{
return $this->empreendimento;
}
public function setEmpreendimento($empreendimento): void
{
$this->empreendimento = $empreendimento;
}
/**
* @return bool|null
*/
public function getAtivo(): ?bool
{
return $this->ativo;
}
/**
* @param bool|null $ativo
*/
public function setAtivo(?bool $ativo): void
{
$this->ativo = $ativo;
}
/**
* @return mixed
*/
public function getBloco()
{
return $this->bloco;
}
/**
* @param mixed $bloco
*/
public function setBloco($bloco): void
{
$this->bloco = $bloco;
}
/**
* @return Collection
*/
public function getComunicados(): Collection
{
return $this->comunicados;
}
/**
* @param Collection $comunicados
*/
public function setComunicados(Collection $comunicados): void
{
$this->comunicados = $comunicados;
}
/**
* @return Collection
*/
public function getDownloads(): Collection
{
return $this->downloads;
}
/**
* @param Collection $downloads
*/
public function setDownloads(Collection $downloads): void
{
$this->downloads = $downloads;
}
public function getPercentualParticipacao()
{
return $this->percentualParticipacao;
}
public function setPercentualParticipacao($percentualParticipacao): void
{
$this->percentualParticipacao = $percentualParticipacao;
}
}