feat : plan du site (WIP)
This commit is contained in:
@@ -11,6 +11,7 @@ use Doctrine\Common\Collections\ArrayCollection;
|
||||
use Doctrine\Common\Collections\Collection;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Component\Serializer\Attribute\Groups;
|
||||
use Symfony\Component\Serializer\Attribute\SerializedName;
|
||||
|
||||
#[ORM\Entity]
|
||||
#[ORM\Table(name: 'building')]
|
||||
@@ -48,9 +49,25 @@ class Building
|
||||
#[ORM\ManyToMany(targetEntity: Reception::class, mappedBy: 'buildings')]
|
||||
private Collection $receptions;
|
||||
|
||||
/**
|
||||
* @var Collection<int, BuildingCase>
|
||||
*/
|
||||
#[ORM\OneToMany(targetEntity: BuildingCase::class, mappedBy: 'id_building')]
|
||||
private Collection $buildingCases;
|
||||
|
||||
/**
|
||||
* @var Collection<int, BuildingLayout>
|
||||
*/
|
||||
#[ORM\OneToMany(targetEntity: BuildingLayout::class, mappedBy: 'id_building')]
|
||||
#[Groups(['building:read'])]
|
||||
#[SerializedName('layouts')]
|
||||
private Collection $buildingLayout;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->receptions = new ArrayCollection();
|
||||
$this->receptions = new ArrayCollection();
|
||||
$this->buildingCases = new ArrayCollection();
|
||||
$this->buildingLayout = new ArrayCollection();
|
||||
}
|
||||
|
||||
public function getId(): ?int
|
||||
@@ -89,4 +106,41 @@ class Building
|
||||
{
|
||||
return $this->receptions;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Collection<int, BuildingCase>
|
||||
*/
|
||||
public function getBuildingCases(): Collection
|
||||
{
|
||||
return $this->buildingCases;
|
||||
}
|
||||
|
||||
public function addBuildingCase(BuildingCase $buildingCase): static
|
||||
{
|
||||
if (!$this->buildingCases->contains($buildingCase)) {
|
||||
$this->buildingCases->add($buildingCase);
|
||||
$buildingCase->setIdBuilding($this);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function removeBuildingCase(BuildingCase $buildingCase): static
|
||||
{
|
||||
if ($this->buildingCases->removeElement($buildingCase)) {
|
||||
if ($buildingCase->getIdBuilding() === $this) {
|
||||
$buildingCase->setIdBuilding(null);
|
||||
}
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Collection<int, BuildingLayout>
|
||||
*/
|
||||
public function getBuildingLayout(): Collection
|
||||
{
|
||||
return $this->buildingLayout;
|
||||
}
|
||||
}
|
||||
|
||||
139
src/Entity/BuildingCase.php
Normal file
139
src/Entity/BuildingCase.php
Normal file
@@ -0,0 +1,139 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Entity;
|
||||
|
||||
use App\Repository\BuildingCaseRepository;
|
||||
use Doctrine\Common\Collections\ArrayCollection;
|
||||
use Doctrine\Common\Collections\Collection;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Component\Serializer\Attribute\Groups;
|
||||
use Symfony\Component\Serializer\Attribute\SerializedName;
|
||||
|
||||
#[ORM\Entity(repositoryClass: BuildingCaseRepository::class)]
|
||||
class BuildingCase
|
||||
{
|
||||
#[ORM\Id]
|
||||
#[ORM\GeneratedValue]
|
||||
#[ORM\Column]
|
||||
#[Groups(['building:read'])]
|
||||
private ?int $id = null;
|
||||
|
||||
#[ORM\Column]
|
||||
#[Groups(['building:read'])]
|
||||
#[SerializedName('caseNumber')]
|
||||
private ?int $case_number = null;
|
||||
|
||||
#[ORM\Column(length: 255)]
|
||||
#[Groups(['building:read'])]
|
||||
private ?string $code = null;
|
||||
|
||||
#[ORM\Column]
|
||||
#[Groups(['building:read'])]
|
||||
private ?int $capacity = null;
|
||||
|
||||
/**
|
||||
* @var Collection<int, BuildingCasePosition>
|
||||
*/
|
||||
#[ORM\OneToMany(targetEntity: BuildingCasePosition::class, mappedBy: 'buildingCase')]
|
||||
private Collection $id_case_position;
|
||||
|
||||
#[ORM\ManyToOne(inversedBy: 'buildingCases')]
|
||||
private ?Building $id_building = null;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->id_case_position = new ArrayCollection();
|
||||
}
|
||||
|
||||
public function getId(): ?int
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
public function setId(int $id): static
|
||||
{
|
||||
$this->id = $id;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getCaseNumber(): ?int
|
||||
{
|
||||
return $this->case_number;
|
||||
}
|
||||
|
||||
public function setCaseNumber(int $case_number): static
|
||||
{
|
||||
$this->case_number = $case_number;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getCode(): ?string
|
||||
{
|
||||
return $this->code;
|
||||
}
|
||||
|
||||
public function setCode(string $code): static
|
||||
{
|
||||
$this->code = $code;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getCapacity(): ?int
|
||||
{
|
||||
return $this->capacity;
|
||||
}
|
||||
|
||||
public function setCapacity(int $capacity): static
|
||||
{
|
||||
$this->capacity = $capacity;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Collection<int, BuildingCasePosition>
|
||||
*/
|
||||
public function getIdCasePosition(): Collection
|
||||
{
|
||||
return $this->id_case_position;
|
||||
}
|
||||
|
||||
public function addIdCasePosition(BuildingCasePosition $idCasePosition): static
|
||||
{
|
||||
if (!$this->id_case_position->contains($idCasePosition)) {
|
||||
$this->id_case_position->add($idCasePosition);
|
||||
$idCasePosition->setBuildingCase($this);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function removeIdCasePosition(BuildingCasePosition $idCasePosition): static
|
||||
{
|
||||
if ($this->id_case_position->removeElement($idCasePosition)) {
|
||||
// set the owning side to null (unless already changed)
|
||||
if ($idCasePosition->getBuildingCase() === $this) {
|
||||
$idCasePosition->setBuildingCase(null);
|
||||
}
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getIdBuilding(): ?Building
|
||||
{
|
||||
return $this->id_building;
|
||||
}
|
||||
|
||||
public function setIdBuilding(?Building $id_building): static
|
||||
{
|
||||
$this->id_building = $id_building;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
146
src/Entity/BuildingCasePosition.php
Normal file
146
src/Entity/BuildingCasePosition.php
Normal file
@@ -0,0 +1,146 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Entity;
|
||||
|
||||
use App\Repository\BuildingCasePositionRepository;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Component\Serializer\Attribute\Groups;
|
||||
use Symfony\Component\Serializer\Attribute\SerializedName;
|
||||
|
||||
#[ORM\Entity(repositoryClass: BuildingCasePositionRepository::class)]
|
||||
class BuildingCasePosition
|
||||
{
|
||||
#[ORM\Id]
|
||||
#[ORM\GeneratedValue]
|
||||
#[ORM\Column]
|
||||
#[Groups(['building:read'])]
|
||||
private ?int $id = null;
|
||||
|
||||
#[ORM\Column]
|
||||
#[Groups(['building:read'])]
|
||||
private ?int $x = null;
|
||||
|
||||
#[ORM\Column]
|
||||
#[Groups(['building:read'])]
|
||||
private ?int $y = null;
|
||||
|
||||
#[ORM\Column]
|
||||
#[Groups(['building:read'])]
|
||||
private ?int $w = null;
|
||||
|
||||
#[ORM\Column]
|
||||
#[Groups(['building:read'])]
|
||||
private ?int $h = null;
|
||||
|
||||
#[ORM\Column(length: 255)]
|
||||
#[Groups(['building:read'])]
|
||||
#[SerializedName('renderOrder')]
|
||||
private ?string $render_order = null;
|
||||
|
||||
#[ORM\ManyToOne(inversedBy: 'id_case_position')]
|
||||
#[ORM\JoinColumn(nullable: false)]
|
||||
private ?BuildingLayout $buildingLayout = null;
|
||||
|
||||
#[ORM\ManyToOne(inversedBy: 'id_case_position')]
|
||||
#[ORM\JoinColumn(nullable: false)]
|
||||
#[Groups(['building:read'])]
|
||||
private ?BuildingCase $buildingCase = null;
|
||||
|
||||
public function getId(): ?int
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
public function setId(int $id): static
|
||||
{
|
||||
$this->id = $id;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getX(): ?int
|
||||
{
|
||||
return $this->x;
|
||||
}
|
||||
|
||||
public function setX(int $x): static
|
||||
{
|
||||
$this->x = $x;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getY(): ?int
|
||||
{
|
||||
return $this->y;
|
||||
}
|
||||
|
||||
public function setY(int $y): static
|
||||
{
|
||||
$this->y = $y;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getW(): ?int
|
||||
{
|
||||
return $this->w;
|
||||
}
|
||||
|
||||
public function setW(int $w): static
|
||||
{
|
||||
$this->w = $w;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getH(): ?int
|
||||
{
|
||||
return $this->h;
|
||||
}
|
||||
|
||||
public function setH(int $h): static
|
||||
{
|
||||
$this->h = $h;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getRenderOrder(): ?string
|
||||
{
|
||||
return $this->render_order;
|
||||
}
|
||||
|
||||
public function setRenderOrder(string $render_order): static
|
||||
{
|
||||
$this->render_order = $render_order;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getBuildingLayout(): ?BuildingLayout
|
||||
{
|
||||
return $this->buildingLayout;
|
||||
}
|
||||
|
||||
public function setBuildingLayout(?BuildingLayout $buildingLayout): static
|
||||
{
|
||||
$this->buildingLayout = $buildingLayout;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getBuildingCase(): ?BuildingCase
|
||||
{
|
||||
return $this->buildingCase;
|
||||
}
|
||||
|
||||
public function setBuildingCase(?BuildingCase $buildingCase): static
|
||||
{
|
||||
$this->buildingCase = $buildingCase;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
141
src/Entity/BuildingLayout.php
Normal file
141
src/Entity/BuildingLayout.php
Normal file
@@ -0,0 +1,141 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Entity;
|
||||
|
||||
use App\Repository\BuildingLayoutRepository;
|
||||
use Doctrine\Common\Collections\ArrayCollection;
|
||||
use Doctrine\Common\Collections\Collection;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Component\Serializer\Attribute\Groups;
|
||||
use Symfony\Component\Serializer\Attribute\SerializedName;
|
||||
|
||||
#[ORM\Entity(repositoryClass: BuildingLayoutRepository::class)]
|
||||
class BuildingLayout
|
||||
{
|
||||
#[ORM\Id]
|
||||
#[ORM\GeneratedValue]
|
||||
#[ORM\Column]
|
||||
#[Groups(['building:read'])]
|
||||
private ?int $id = null;
|
||||
|
||||
#[ORM\Column(length: 255)]
|
||||
#[Groups(['building:read'])]
|
||||
private ?string $name = null;
|
||||
|
||||
#[ORM\Column]
|
||||
#[Groups(['building:read'])]
|
||||
private ?int $columns = null;
|
||||
|
||||
#[ORM\Column]
|
||||
#[Groups(['building:read'])]
|
||||
private ?int $rows = null;
|
||||
|
||||
#[ORM\ManyToOne(inversedBy: 'buildingLayout')]
|
||||
#[ORM\JoinColumn(nullable: false)]
|
||||
private ?Building $id_building = null;
|
||||
|
||||
/**
|
||||
* @var Collection<int, BuildingCasePosition>
|
||||
*/
|
||||
#[ORM\OneToMany(targetEntity: BuildingCasePosition::class, mappedBy: 'buildingLayout')]
|
||||
#[Groups(['building:read'])]
|
||||
#[SerializedName('casePositions')]
|
||||
private Collection $id_case_position;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->id_case_position = new ArrayCollection();
|
||||
}
|
||||
|
||||
public function getId(): ?int
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
public function setId(int $id): static
|
||||
{
|
||||
$this->id = $id;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getName(): ?string
|
||||
{
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
public function setName(string $name): static
|
||||
{
|
||||
$this->name = $name;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getColumns(): ?int
|
||||
{
|
||||
return $this->columns;
|
||||
}
|
||||
|
||||
public function setColumns(int $columns): static
|
||||
{
|
||||
$this->columns = $columns;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getRows(): ?int
|
||||
{
|
||||
return $this->rows;
|
||||
}
|
||||
|
||||
public function setRows(int $rows): static
|
||||
{
|
||||
$this->rows = $rows;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getIdBuilding(): ?Building
|
||||
{
|
||||
return $this->id_building;
|
||||
}
|
||||
|
||||
public function setIdBuilding(?Building $id_building): static
|
||||
{
|
||||
$this->id_building = $id_building;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Collection<int, BuildingCasePosition>
|
||||
*/
|
||||
public function getIdCasePosition(): Collection
|
||||
{
|
||||
return $this->id_case_position;
|
||||
}
|
||||
|
||||
public function addIdCasePosition(BuildingCasePosition $idCasePosition): static
|
||||
{
|
||||
if (!$this->id_case_position->contains($idCasePosition)) {
|
||||
$this->id_case_position->add($idCasePosition);
|
||||
$idCasePosition->setBuildingLayout($this);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function removeIdCasePosition(BuildingCasePosition $idCasePosition): static
|
||||
{
|
||||
if ($this->id_case_position->removeElement($idCasePosition)) {
|
||||
// set the owning side to null (unless already changed)
|
||||
if ($idCasePosition->getBuildingLayout() === $this) {
|
||||
$idCasePosition->setBuildingLayout(null);
|
||||
}
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user