<?php
namespace App\Entity;
use App\Repository\CategorieMetierRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: CategorieMetierRepository::class)]
class CategorieMetier implements \Stringable
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: 'integer')]
private $id;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $name;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $name_en;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $code;
#[ORM\ManyToMany(targetEntity: SouscategorieMetier::class, mappedBy: 'categoriemetiers')]
private $souscategorieMetiers;
#[ORM\OneToMany(targetEntity: CategorieFamille::class, mappedBy: 'categorie', cascade: ['persist', 'remove'])]
private $categorieFamilles;
#[ORM\OneToMany(targetEntity: FichePreserie::class, mappedBy: 'categorie')]
private $fichePreseries;
#[ORM\OneToMany(targetEntity: NombreOperationPreserie::class, mappedBy: 'categorie')]
private $nombreOperationPreseries;
public function __construct()
{
$this->souscategorieMetiers = new ArrayCollection();
$this->categorieFamilles = new ArrayCollection();
$this->fichePreseries = new ArrayCollection();
$this->nombreOperationPreseries = new ArrayCollection();
}
public function __toString(): string
{
return (string) $this->name;
}
public function getId(): ?int
{
return $this->id;
}
public function getName(): ?string
{
return $this->name;
}
public function setName(?string $name): self
{
$this->name = $name;
return $this;
}
public function getNameEn(): ?string
{
return $this->name_en;
}
public function setNameEn(?string $name_en): self
{
$this->name_en = $name_en;
return $this;
}
public function getCode(): ?string
{
return $this->code;
}
public function setCode(?string $code): self
{
$this->code = $code;
return $this;
}
/**
* @return Collection|SouscategorieMetier[]
*/
public function getSouscategorieMetiers(): Collection
{
return $this->souscategorieMetiers;
}
public function addSouscategorieMetier(SouscategorieMetier $souscategorieMetier): self
{
if (!$this->souscategorieMetiers->contains($souscategorieMetier)) {
$this->souscategorieMetiers[] = $souscategorieMetier;
$souscategorieMetier->addCategoriemetier($this);
}
return $this;
}
public function removeSouscategorieMetier(SouscategorieMetier $souscategorieMetier): self
{
if ($this->souscategorieMetiers->removeElement($souscategorieMetier)) {
$souscategorieMetier->removeCategoriemetier($this);
}
return $this;
}
/**
* @return Collection|CategorieFamille[]
*/
public function getCategorieFamilles(): Collection
{
return $this->categorieFamilles;
}
public function addCategorieFamille(CategorieFamille $categorieFamille): self
{
if (!$this->categorieFamilles->contains($categorieFamille)) {
$this->categorieFamilles[] = $categorieFamille;
$categorieFamille->setCategorie($this);
}
return $this;
}
public function removeCategorieFamille(CategorieFamille $categorieFamille): self
{
if ($this->categorieFamilles->removeElement($categorieFamille)) {
// set the owning side to null (unless already changed)
if ($categorieFamille->getCategorie() === $this) {
$categorieFamille->setCategorie(null);
}
}
return $this;
}
/**
* @return Collection|FichePreserie[]
*/
public function getFichePreseries(): Collection
{
return $this->fichePreseries;
}
public function addFichePreseries(FichePreserie $fichePreseries): self
{
if (!$this->fichePreseries->contains($fichePreseries)) {
$this->fichePreseries[] = $fichePreseries;
$fichePreseries->setCategorie($this);
}
return $this;
}
public function removeFichePreseries(FichePreserie $fichePreseries): self
{
if ($this->fichePreseries->removeElement($fichePreseries)) {
// set the owning side to null (unless already changed)
if ($fichePreseries->getCategorie() === $this) {
$fichePreseries->setCategorie(null);
}
}
return $this;
}
/**
* @return Collection|NombreOperationPreserie[]
*/
public function getNombreOperationPreseries(): Collection
{
return $this->nombreOperationPreseries;
}
public function addNombreOperationPreseries(NombreOperationPreserie $nombreOperationPreseries): self
{
if (!$this->nombreOperationPreseries->contains($nombreOperationPreseries)) {
$this->nombreOperationPreseries[] = $nombreOperationPreseries;
$nombreOperationPreseries->setCategorie($this);
}
return $this;
}
public function removeNombreOperationPreseries(NombreOperationPreserie $nombreOperationPreseries): self
{
if ($this->nombreOperationPreseries->removeElement($nombreOperationPreseries)) {
// set the owning side to null (unless already changed)
if ($nombreOperationPreseries->getCategorie() === $this) {
$nombreOperationPreseries->setCategorie(null);
}
}
return $this;
}
}