diff --git a/.gitignore b/.gitignore index 141df9b..d8adee2 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,7 @@ # Secret keys config/secrets/prod/prod.decrypt.private.php config/secrets/dev/ + + +# Test +src/trash/ \ No newline at end of file diff --git a/src/Controller/MapApiController.php b/src/Controller/MapApiController.php index 0fbb109..e7bbd43 100644 --- a/src/Controller/MapApiController.php +++ b/src/Controller/MapApiController.php @@ -10,64 +10,145 @@ use App\Repository\RoomRepository; class MapApiController extends AbstractController { - #[Route('/map/api')] - public function test(SiteRepository $srep): JsonResponse + #[Route('/map/api/test')] + public function test(SiteRepository $rep): JsonResponse { return $this->json([ 'message' => 'Welcome to your new controller!', 'path' => 'src/Controller/MapApiController.php', - 'sites' => $srep->allSites()[0]->getZeroLatitude() + 'sites' => $rep->allSites()[0]->getZeroLatitude() ]); } #[Route('/map/api/get_floor')] - public function get_floor(FloorRepository $srep, int $id): JsonResponse + public function get_floor(FloorRepository $rep, int $id, string $representation): JsonResponse { - return $rep->get_floor(id); - return $this->json([ - 'message' => 'Welcome to your new controller!', - 'path' => 'src/Controller/MapApiController.php', - 'sites' => $srep->allSites()[0]->getZeroLatitude() - ]); + $floor = $rep->findFloorById($id); + $places = $floor->getPlace(); + $jsonPlaces = new ArrayCollection(); + foreach ($places as $place){ + $jsonPlaces[] = $this->json([ + 'id' => $place->getId(), + 'name' => $place->getName(), + 'type' => $place->getType(), + 'surface' => $place->getTwoDRepresentation($representation, $floor->getAltitude()) + ]); + } + return $jsonPlaces; } - #[Route('/map/api/find_room_by_name')] - public function find_room_by_name(RoomRepository $srep, string $name): JsonResponse + #[Route('/map/api/find_place_by_name')] + public function find_place_by_name(PlaceRepository $rep, string $name): JsonResponse { - $rooms = $rep->findRoomByName($name); - if (sizeof($rooms)!=1) { + $places = $rep->findPlaceByName($name); + if (sizeof($places)!=1) { return false; } else { - $room = $rooms[0]; - $CP = $room->getConnectedPlaces(); - if (sizeof($CP)==0) return null; - $floor = $CP[0]->getFloor(); + $place = $places[0]; return $this->json([ - 'idRoom' => $room->getId(), - 'idFloor' => $floor->getId() + 'idRoom' => $place->getId(), + 'idFloor' => $place->getFloor()->getId() ]); } } - #[Route('/map/api/show_room_info')] - public function index(RoomRepository $srep, int $id): JsonResponse + #[Route('/map/api/show_place_info')] + public function index(PlaceRepository $rep, int $id): JsonResponse { - $rooms = $rep->findRoomById($id); - if (sizeof($rooms)!=1) { + $places = $rep->findPlaceById($id); + if (sizeof($places)!=1) { return null; } else { return $this->json([ - 'idRoom' => $rooms[0]->getId(), - 'names' => $rooms[0]->getNames(), - 'users' => $rooms[0]->getUsers() + 'idRoom' => $places[0]->getId(), + 'names' => $places[0]->getName(), + 'users' => $places[0]->getUser() ]); } } + #[Route('/map/api/get_all_editions')] + public function getEditions(EditionRepository $rep): JsonResponse + { + $edits = $rep->getAllEditions(); + if (sizeof($edits)<1) { + return null; + } + else { + $listEdits = new ArrayCollection(); + foreach ($edits as $edit){ + $listEdits[] = $this->json([ + 'id' => $edit->getId(), + 'mode' => $edit->getMode(), + 'name' => $edit->getNamePlace(), + 'idPlace' => $edit->getIdPlace(), + 'value' => $edit->getValue() + ]); + } + + } + return $listEdits; + } + #[Route('/map/api/set_edition')] + public function setEdition(PlaceRepository $rep, string $mode, int $idPlace, string $value): bool + { + $edit = new Edition(); + return $edit->setEdition($rep, $mode, $idPlace, $value); + } + + #[Route('/map/api/remove_edition')] + public function removeEdition(EditionRepository $rep, int $id): bool + { + $edit = $rep->findEditionById($id); + if ($edit == null) {return false;} + $rep->remove($edit); + return true; + } + + #[Route('/map/api/del_place_name')] + public function delPlaceName(PlaceRepository $rep, int $id, string $value): bool + { + $places = $rep->findPlaceById($id); + if (sizeof($places)!=1) { return null; } + else { + $places[0]->removeName($value); + return true; + } + } + #[Route('/map/api/add_place_name')] + public function addPlaceName(PlaceRepository $rep, int $id, string $value): bool + { + $places = $rep->findPlaceById($id); + if (sizeof($places)!=1) { return null; } + else { + $places[0]->addName($value); + return true; + } + } + #[Route('/map/api/del_room_user_name')] + public function delRoomUserName(PlaceRepository $rep, int $id, string $value): bool + { + $rooms = $rep->findPlaceById($id); + if (sizeof($rooms)!=1) { return null; } + else { + $rooms[0]->removeRoomUser($value); + return true; + } + } + #[Route('/map/api/add_room_user_name')] + public function addRoomUserName(PlaceRepository $rep, int $id, string $value): bool + { + $rooms = $rep->findPlaceById($id); + if (sizeof($rooms)!=1) { return null; } + else { + $rooms[0]->addRoomUser($value); + return true; + } + } } diff --git a/src/Entity/Corridor.php b/src/Entity/Corridor.php deleted file mode 100644 index 1610808..0000000 --- a/src/Entity/Corridor.php +++ /dev/null @@ -1,27 +0,0 @@ -floor; - } - - public function setFloor(?Floor $floor): self - { - $this->floor = $floor; - - return $this; - } -} diff --git a/src/Entity/Cylinder.php b/src/Entity/Cylinder.php index cf26c3c..274d1c4 100644 --- a/src/Entity/Cylinder.php +++ b/src/Entity/Cylinder.php @@ -20,8 +20,8 @@ class Cylinder #[ORM\JoinColumn(nullable: false)] private $cylinderbase; - #[ORM\ManyToOne(targetEntity: Room::class, inversedBy: "CylinderRepresentation")] - private $room; + #[ORM\ManyToOne(targetEntity: Place::class, inversedBy: "CylinderRepresentation")] + private $place; public function getId(): ?int { @@ -52,14 +52,14 @@ class Cylinder return $this; } - public function getRoom(): ?Room + public function getPlace(): ?Place { - return $this->room; + return $this->place; } - public function setRoom(?Room $room): self + public function setPlace(?Place $place): self { - $this->room = $room; + $this->place = $place; return $this; } diff --git a/src/Entity/Edition.php b/src/Entity/Edition.php new file mode 100644 index 0000000..5d82000 --- /dev/null +++ b/src/Entity/Edition.php @@ -0,0 +1,90 @@ +id; + } + + public function getMode(): ?string + { return $this->mode; } + public function setMode(string $mode): self + { + $this->mode = $mode; + return $this; + } + + public function getIdPlace(): ?int + { return $this->idPlace; } + public function setIdPlace(int $id): self + { + $this->idPlace = $id; + return $this; + } + + public function getNamePlace(): ?string + { return $this->namePlace; } + public function setNamePlace(string $name): self + { + $this->NamePlace = $name; + return $this; + } + + public function getValue(): ?string + { return $this->val; } + public function setValue(string $val): self + { + $this->val = $val; + return $this; + } + + + public function setEdition(PlaceRepository $rep, string $mode, int $id, string $val): self + { + $place = $rep->findPlaceById($id); + if ($place==null) { return null; } + $names = $place->getName(); + $name = ''; + foreach ($names as $n) { + $name = $name + $n + ", " ; + } + $this->mode = $mode; + $this->idPlace = $id; + $this->namePlace = $name; + $this->val = $val; + return $this; + } + +} diff --git a/src/Entity/Floor.php b/src/Entity/Floor.php index bcc3de4..e91ea78 100644 --- a/src/Entity/Floor.php +++ b/src/Entity/Floor.php @@ -15,16 +15,20 @@ class Floor #[ORM\Column(type: "integer")] private $id; + #[ORM\Id] + #[ORM\Column(type: "integer")] + private $altitude; + #[ORM\ManyToOne(targetEntity: Building::class, inversedBy: "floors")] #[ORM\JoinColumn(nullable: false)] private $building; - #[ORM\OneToMany(targetEntity: Corridor::class, mappedBy: "floor")] - private $corridors; + #[ORM\ManyToMany(targetEntity: Place::class, mappedBy: "floors")] + private $places; public function __construct() { - $this->corridors = new ArrayCollection(); + $this->places = new ArrayCollection(); } public function getId(): ?int @@ -40,34 +44,43 @@ class Floor public function setBuilding(?Building $building): self { $this->building = $building; + return $this; + } + + public function getAltitude(): ?int + { + return $this->altitude; + } + public function setAltitude(int $altitude): self + { + $this->altitude = $altitude; return $this; } /** - * @return Collection + * @return Collection */ - public function getCorridors(): Collection + public function getPlaces(): Collection { - return $this->corridors; + return $this->places; } - public function addCorridor(Corridor $corridor): self + public function addPlace(Place $place): self { - if (!$this->corridors->contains($corridor)) { - $this->corridors[] = $corridor; - $corridor->setFloor($this); + if (!$this->places->contains($place)) { + $this->places[] = $place; + $place->setFloor($this); } - return $this; } - public function removeCorridor(Corridor $corridor): self + public function removePlace(Place $place): self { - if ($this->corridors->removeElement($corridor)) { + if ($this->places->removeElement($place)) { // set the owning side to null (unless already changed) - if ($corridor->getFloor() === $this) { - $corridor->setFloor(null); + if ($place->getFloor() === $this) { + $place->setFloor(null); } } diff --git a/src/Entity/Place.php b/src/Entity/Place.php index d32186c..c3e27f9 100644 --- a/src/Entity/Place.php +++ b/src/Entity/Place.php @@ -8,10 +8,10 @@ use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; #[ORM\Entity(repositoryClass: PlaceRepository::class)] -#[ORM\MappedSuperclass] -#[ORM\InheritanceType("JOINED")] -#[ORM\DiscriminatorColumn(name: "type", type: "string")] -#[ORM\DiscriminatorMap(["room" => Room::class, "corridor" => Corridor::class])] +// #[ORM\MappedSuperclass] +// #[ORM\InheritanceType("JOINED")] +// #[ORM\DiscriminatorColumn(name: "type", type: "string")] +// #[ORM\DiscriminatorMap(["room" => Room::class, "corridor" => Corridor::class])] class Place { #[ORM\Id] @@ -19,19 +19,44 @@ class Place #[ORM\Column(type: "integer")] private $id; - #[ORM\ManyToMany(targetEntity: Place::class, inversedBy: "connectedPlaces")] - private $connection; - - #[ORM\ManyToMany(targetEntity: Place::class, mappedBy: "connection")] - private $connectedPlaces; + #[ORM\Type] + #[ORM\Column(type: "string")] + // Either 'C'orridor , 'S'tairs , 'E'levator or 'R'oom + private $type; #[ORM\OneToMany(targetEntity: PlaceName::class, mappedBy: "place")] private $names; + #[ORM\OneToMany(targetEntity: RoomUserName::class, mappedBy: "place")] + private $users; + + #[ORM\ManyToMany(targetEntity: Floor::class, inversedBy: "places")] + private $floors; + + #[ORM\ManyToMany(targetEntity: Place::class, inversedBy: "connectedPlaces")] + private $connection; + #[ORM\ManyToMany(targetEntity: Place::class, mappedBy: "connection")] + private $connectedPlaces; + + #[ORM\OneToMany(targetEntity: ThreeDObjectFile::class, mappedBy: "place")] + private $ComplexRepresentation; + #[ORM\OneToMany(targetEntity: Polyhedron::class, mappedBy: "place")] + private $PolyhedronRepresentation; + #[ORM\OneToMany(targetEntity: Cylinder::class, mappedBy: "place")] + private $CylinderRepresentation; + #[ORM\OneToMany(targetEntity: PolySurface::class, mappedBy: "place")] + private $PolySurfaceRepresentation; + public function __construct() { $this->connection = new ArrayCollection(); $this->connectedPlaces = new ArrayCollection(); + $this->names = new ArrayCollection(); + $this->users = new ArrayCollection(); + $this->floors = new ArrayCollection(); + $this->ComplexRepresentation = new ArrayCollection(); + $this->PolyhedronRepresentation = new ArrayCollection(); + $this->CylinderRepresentation = new ArrayCollection(); } public function getId(): ?int @@ -39,6 +64,85 @@ class Place return $this->id; } + public function getType(): ?string + { + return $this->type; + } + public function setType(string $type): bool + { + if ($type == 'C' or $type == 'S' or $type == 'E' or $type == 'R') { + $this->type = $type; + return true; + } + return false; + } + + /** + * @return Collection + */ + public function getNames(): Collection + { + return $this->names; + } + + public function addName(self $name): self + { + if (!$this->names->contains($name)) { + $this->names[] = $name; + } + return $this; + } + + public function removeName(self $name): self + { + $this->names->removeElement($name); + return $this; + } + + /** + * @return Collection + */ + + public function getRoomUsers(): Collection + { + return $this->users; + } + + public function addRoomUser(self $user): self + { + if (!$this->users->contains($user)) { + $this->users[] = $user; + } + return $this; + } + + public function removeRoomUser(self $user): self + { + $this->users->removeElement($user); + return $this; + } + + /** + * @return Collection + */ + public function getFloors(): Collection + { + return $this->floors; + } + + public function addFloor(self $floor): self + { + if (!$this->floors->contains($floor)) { + $this->floors[] = $floor; + } + return $this; + } + + public function removeFloor(self $floor): self + { + $this->floors->removeElement($floor); + return $this; + } /** * @return Collection */ @@ -52,14 +156,12 @@ class Place if (!$this->connection->contains($connection)) { $this->connection[] = $connection; } - return $this; } public function removeConnection(self $connection): self { $this->connection->removeElement($connection); - return $this; } @@ -77,7 +179,6 @@ class Place $this->connectedPlaces[] = $connectedPlace; $connectedPlace->addConnection($this); } - return $this; } @@ -86,7 +187,164 @@ class Place if ($this->connectedPlaces->removeElement($connectedPlace)) { $connectedPlace->removeConnection($this); } + return $this; + } + + /** + * @return Collection + */ + public function getComplexRepresentation(): Collection + { + return $this->ComplexRepresentation; + } + + public function addComplexRepresentation(ThreeDObjectFile $complexRepresentation): self + { + if (!$this->ComplexRepresentation->contains($complexRepresentation)) { + $this->ComplexRepresentation[] = $complexRepresentation; + $complexRepresentation->setRoom($this); + } return $this; } + + public function removeComplexRepresentation(ThreeDObjectFile $complexRepresentation): self + { + if ($this->ComplexRepresentation->removeElement($complexRepresentation)) { + // set the owning side to null (unless already changed) + if ($complexRepresentation->getRoom() === $this) { + $complexRepresentation->setRoom(null); + } + } + + return $this; + } + + /** + * @return Collection + */ + public function getPolyhedronRepresentation(): Collection + { + return $this->PolyhedronRepresentation; + } + + public function addPolyhedronRepresentation(Polyhedron $polyhedronRepresentation): self + { + if (!$this->PolyhedronRepresentation->contains($polyhedronRepresentation)) { + $this->PolyhedronRepresentation[] = $polyhedronRepresentation; + $polyhedronRepresentation->setRoom($this); + } + + return $this; + } + + public function removePolyhedronRepresentation(Polyhedron $polyhedronRepresentation): self + { + if ($this->PolyhedronRepresentation->removeElement($polyhedronRepresentation)) { + // set the owning side to null (unless already changed) + if ($polyhedronRepresentation->getRoom() === $this) { + $polyhedronRepresentation->setRoom(null); + } + } + + return $this; + } + + /** + * @return Collection + */ + public function getCylinderRepresentation(): Collection + { + return $this->CylinderRepresentation; + } + + public function addCylinderRepresentation(Cylinder $cylinderRepresentation): self + { + if (!$this->CylinderRepresentation->contains($cylinderRepresentation)) { + $this->CylinderRepresentation[] = $cylinderRepresentation; + $cylinderRepresentation->setRoom($this); + } + + return $this; + } + + public function removeCylinderRepresentation(Cylinder $cylinderRepresentation): self + { + if ($this->CylinderRepresentation->removeElement($cylinderRepresentation)) { + // set the owning side to null (unless already changed) + if ($cylinderRepresentation->getRoom() === $this) { + $cylinderRepresentation->setRoom(null); + } + } + + return $this; + } + + + /** + * @return Collection + */ + public function getPolySurfaceRepresentation(): Collection + { + return $this->PolySurfaceRepresentation; + } + + public function addPolySurfaceRepresentation(PolySurface $polySurfaceRepresentation): self + { + if (!$this->PolySurfaceRepresentation->contains($polySurfaceRepresentation)) { + $this->PolySurfaceRepresentation[] = $polySurfaceRepresentation; + $polySurfaceRepresentation->setRoom($this); + } + + return $this; + } + + public function removePolySurfaceRepresentation(PolySurface $polySurfaceRepresentation): self + { + if ($this->PolySurfaceRepresentation->removeElement($polySurfaceRepresentation)) { + // set the owning side to null (unless already changed) + if ($polySurfaceRepresentation->getRoom() === $this) { + $polySurfaceRepresentation->setRoom(null); + } + } + + return $this; + } + + + + public function getTwoDRepresentation(string $representation, int $alt) : array + { + if ($representation=='Cylinder') { + $rep = $this->getCylinderRepresentation(); + if ($rep != null){ + $repPoints = $rep->getCylinderbase()->getPolygonpoint(); //Points in repository format + $Points = new ArrayCollection(); + foreach ($repPoints as $p) { + $xy=array([$p->getX(), $p->getY()]); + if (!$Points->contains($xy)){ + $Points[] = $xy; + } + } + return $Points; + } + } + elseif ($representation=='PolySurface') { + $rep = $this->getPolySurfaceRepresentation(); + if ($rep != null){ + $repPoints = $rep->getPolysurfaceComponent()->getPolygonpoint(); //Points in repository format + $Points = new ArrayCollection(); + foreach ($repPoints as $p) { + $xy=array([$p->getX(), $p->getY()]); + if (!$Points->contains($xy)){ + $Points[] = $xy; + } + } + return $Points; + } + } + else { + return null; + } + } } diff --git a/src/Entity/PlaceName.php b/src/Entity/PlaceName.php index b99d576..7d1a08d 100644 --- a/src/Entity/PlaceName.php +++ b/src/Entity/PlaceName.php @@ -7,7 +7,7 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; -#[ORM\Entity(repositoryClass: PlaceNamenRepository::class)] +#[ORM\Entity(repositoryClass: PlaceNameRepository::class)] class PlaceName { #[ORM\Id] @@ -18,58 +18,23 @@ class PlaceName #[ORM\Column(type: "string")] private $name; - #[ORM\ManyToOne(targetEntity: Place::class, inversedBy: "names")] - private $room; + #[ORM\ManyToOne(targetEntity: Place::class, inversedBy: "id")] + private $place; + - public function __construct() - { - $this->polyhedronface = new ArrayCollection(); - } public function getId(): ?int { return $this->id; } - /** - * @return Collection - */ - public function getPolyhedronface(): Collection + public function getPlace(): ?Place { - return $this->polyhedronface; + return $this->place; } - - public function addPolyhedronface(PlaneSurface $polyhedronface): self + public function setPlace(?Place $place): self { - if (!$this->polyhedronface->contains($polyhedronface)) { - $this->polyhedronface[] = $polyhedronface; - $polyhedronface->setPolyhedron($this); - } - - return $this; - } - - public function removePolyhedronface(PlaneSurface $polyhedronface): self - { - if ($this->polyhedronface->removeElement($polyhedronface)) { - // set the owning side to null (unless already changed) - if ($polyhedronface->getPolyhedron() === $this) { - $polyhedronface->setPolyhedron(null); - } - } - - return $this; - } - - public function getRoom(): ?Room - { - return $this->room; - } - - public function setRoom(?Room $room): self - { - $this->room = $room; - + $this->place = $place; return $this; } @@ -77,11 +42,9 @@ class PlaceName { return $this->name; } - public function setName(?string $name): self { $this->name = $name; - return $this; } } diff --git a/src/Entity/PolySurface.php b/src/Entity/PolySurface.php index c158cc7..2aa2c6f 100644 --- a/src/Entity/PolySurface.php +++ b/src/Entity/PolySurface.php @@ -18,8 +18,8 @@ class PolySurface #[ORM\OneToMany(targetEntity: PlaneSurface::class, mappedBy: "polySurface")] private $polysurfaceComponent; - #[ORM\ManyToOne(targetEntity: Corridor::class)] - private $SurfaceRepresentation; + #[ORM\ManyToOne(targetEntity: Place::class, inversedBy: "PolySurfaceRepresentation")] + private $place; public function __construct() { @@ -61,15 +61,15 @@ class PolySurface return $this; } - public function getSurfaceRepresentation(): ?Corridor + public function getPlace(): ?Place { - return $this->SurfaceRepresentation; + return $this->place; } - public function setSurfaceRepresentation(?Corridor $SurfaceRepresentation): self + public function setPlace(?Place $place): self { - $this->SurfaceRepresentation = $SurfaceRepresentation; + $this->place = $place; return $this; - } + } } diff --git a/src/Entity/Polyhedron.php b/src/Entity/Polyhedron.php index b092be7..4718ee9 100644 --- a/src/Entity/Polyhedron.php +++ b/src/Entity/Polyhedron.php @@ -18,8 +18,8 @@ class Polyhedron #[ORM\OneToMany(targetEntity: PlaneSurface::class, mappedBy: "polyhedron")] private $polyhedronface; - #[ORM\ManyToOne(targetEntity: Room::class, inversedBy: "PolyhedronRepresentation")] - private $room; + #[ORM\ManyToOne(targetEntity: Place::class, inversedBy: "PolyhedronRepresentation")] + private $place; public function __construct() { @@ -61,14 +61,14 @@ class Polyhedron return $this; } - public function getRoom(): ?Room + public function getPlace(): ?Place { - return $this->room; + return $this->place; } - public function setRoom(?Room $room): self + public function setPlace(?Place $place): self { - $this->room = $room; + $this->place = $place; return $this; } diff --git a/src/Entity/Room.php b/src/Entity/Room.php deleted file mode 100644 index 269aa31..0000000 --- a/src/Entity/Room.php +++ /dev/null @@ -1,120 +0,0 @@ -ComplexRepresentation = new ArrayCollection(); - $this->PolyhedronRepresentation = new ArrayCollection(); - $this->CylinderRepresentation = new ArrayCollection(); - } - - /** - * @return Collection - */ - public function getComplexRepresentation(): Collection - { - return $this->ComplexRepresentation; - } - - public function addComplexRepresentation(ThreeDObjectFile $complexRepresentation): self - { - if (!$this->ComplexRepresentation->contains($complexRepresentation)) { - $this->ComplexRepresentation[] = $complexRepresentation; - $complexRepresentation->setRoom($this); - } - - return $this; - } - - public function removeComplexRepresentation(ThreeDObjectFile $complexRepresentation): self - { - if ($this->ComplexRepresentation->removeElement($complexRepresentation)) { - // set the owning side to null (unless already changed) - if ($complexRepresentation->getRoom() === $this) { - $complexRepresentation->setRoom(null); - } - } - - return $this; - } - - /** - * @return Collection - */ - public function getPolyhedronRepresentation(): Collection - { - return $this->PolyhedronRepresentation; - } - - public function addPolyhedronRepresentation(Polyhedron $polyhedronRepresentation): self - { - if (!$this->PolyhedronRepresentation->contains($polyhedronRepresentation)) { - $this->PolyhedronRepresentation[] = $polyhedronRepresentation; - $polyhedronRepresentation->setRoom($this); - } - - return $this; - } - - public function removePolyhedronRepresentation(Polyhedron $polyhedronRepresentation): self - { - if ($this->PolyhedronRepresentation->removeElement($polyhedronRepresentation)) { - // set the owning side to null (unless already changed) - if ($polyhedronRepresentation->getRoom() === $this) { - $polyhedronRepresentation->setRoom(null); - } - } - - return $this; - } - - /** - * @return Collection - */ - public function getCylinderRepresentation(): Collection - { - return $this->CylinderRepresentation; - } - - public function addCylinderRepresentation(Cylinder $cylinderRepresentation): self - { - if (!$this->CylinderRepresentation->contains($cylinderRepresentation)) { - $this->CylinderRepresentation[] = $cylinderRepresentation; - $cylinderRepresentation->setRoom($this); - } - - return $this; - } - - public function removeCylinderRepresentation(Cylinder $cylinderRepresentation): self - { - if ($this->CylinderRepresentation->removeElement($cylinderRepresentation)) { - // set the owning side to null (unless already changed) - if ($cylinderRepresentation->getRoom() === $this) { - $cylinderRepresentation->setRoom(null); - } - } - - return $this; - } -} diff --git a/src/Entity/RoomUsersName.php b/src/Entity/RoomUsersName.php new file mode 100644 index 0000000..4f4930a --- /dev/null +++ b/src/Entity/RoomUsersName.php @@ -0,0 +1,49 @@ +id; + } + + public function getPlace(): ?Place + { + return $this->place; + } + + public function setPlace(?Place $place): self + { + $this->place = $place; + return $this; + } + + public function getUserName(): ?string + { + return $this->userName; + } + + public function setUserName(?string $name): self + { + $this->userName = $name; + return $this; + } +} diff --git a/src/Entity/ThreeDObjectFile.php b/src/Entity/ThreeDObjectFile.php index 79d293a..d4b638e 100644 --- a/src/Entity/ThreeDObjectFile.php +++ b/src/Entity/ThreeDObjectFile.php @@ -16,8 +16,8 @@ class ThreeDObjectFile #[ORM\Column(type: "string", length: 255)] private $filename; - #[ORM\ManyToOne(targetEntity: Room::class, inversedBy: "ComplexRepresentation")] - private $room; + #[ORM\ManyToOne(targetEntity: Place::class, inversedBy: "ComplexRepresentation")] + private $place; public function getId(): ?int { @@ -36,14 +36,14 @@ class ThreeDObjectFile return $this; } - public function getRoom(): ?Room + public function getPlace(): ?Place { - return $this->room; + return $this->place; } - public function setRoom(?Room $room): self + public function setPlace(?Place $place): self { - $this->room = $room; + $this->place = $place; return $this; } diff --git a/src/Repository/CorridorRepository.php b/src/Repository/CorridorRepository.php deleted file mode 100644 index bfa244f..0000000 --- a/src/Repository/CorridorRepository.php +++ /dev/null @@ -1,66 +0,0 @@ - - * - * @method Corridor|null find($id, $lockMode = null, $lockVersion = null) - * @method Corridor|null findOneBy(array $criteria, array $orderBy = null) - * @method Corridor[] findAll() - * @method Corridor[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) - */ -class CorridorRepository extends ServiceEntityRepository -{ - public function __construct(ManagerRegistry $registry) - { - parent::__construct($registry, Corridor::class); - } - - public function add(Corridor $entity, bool $flush = false): void - { - $this->getEntityManager()->persist($entity); - - if ($flush) { - $this->getEntityManager()->flush(); - } - } - - public function remove(Corridor $entity, bool $flush = false): void - { - $this->getEntityManager()->remove($entity); - - if ($flush) { - $this->getEntityManager()->flush(); - } - } - -// /** -// * @return Corridor[] Returns an array of Corridor objects -// */ -// public function findByExampleField($value): array -// { -// return $this->createQueryBuilder('c') -// ->andWhere('c.exampleField = :val') -// ->setParameter('val', $value) -// ->orderBy('c.id', 'ASC') -// ->setMaxResults(10) -// ->getQuery() -// ->getResult() -// ; -// } - -// public function findOneBySomeField($value): ?Corridor -// { -// return $this->createQueryBuilder('c') -// ->andWhere('c.exampleField = :val') -// ->setParameter('val', $value) -// ->getQuery() -// ->getOneOrNullResult() -// ; -// } -} diff --git a/src/Repository/EditionRepository.php b/src/Repository/EditionRepository.php new file mode 100644 index 0000000..e3609b1 --- /dev/null +++ b/src/Repository/EditionRepository.php @@ -0,0 +1,64 @@ + + * + * @method Edition|null find($id, $lockMode = null, $lockVersion = null) + * @method Edition|null findOneBy(array $criteria, array $orderBy = null) + * @method Edition[] findAll() + * @method Edition[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) + */ +class EditionRepository extends ServiceEntityRepository +{ + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, Edition::class); + } + + public function add(Edition $entity, bool $flush = false): void + { + $this->getEntityManager()->persist($entity); + + if ($flush) { + $this->getEntityManager()->flush(); + } + } + + public function remove(Edition $entity, bool $flush = false): void + { + $this->getEntityManager()->remove($entity); + + if ($flush) { + $this->getEntityManager()->flush(); + } + } + + /** + * @return Edition[] Returns an array of Edition objects + */ + public function getAllEditions(): array + { + return $this->createQueryBuilder('f') + ->orderBy('f.id', 'ASC') + ->getQuery() + ->getResult() + ; + } + + + public function findEditionById(int $id): ?Edition + { + return $this->createQueryBuilder('f') + ->andWhere('f.id = :val') + ->setParameter('val', $id) + ->getQuery() + ->getOneOrNullResult() + ; + } +} diff --git a/src/Repository/PlaceRepository.php b/src/Repository/PlaceRepository.php index 8924637..ed2e3a3 100644 --- a/src/Repository/PlaceRepository.php +++ b/src/Repository/PlaceRepository.php @@ -40,18 +40,31 @@ class PlaceRepository extends ServiceEntityRepository } /** - * @return Place[] Returns an array of Place objects having connection with Corrido + * @return Place[] Returns an array of Place objects */ - public function findPlaceConnectedTo($value): array - { - return $this->createQueryBuilder('p') - ->andWhere('p.connectedPlace = :val') - ->setParameter('val', $value) - ->orderBy('p.id', 'ASC') - ->getQuery() - ->getResult() - ; - } + public function findPlaceByName(string $name): array + { + return $this->createQueryBuilder('p') + ->andWhere('LOWER(p.name) = :val') + ->setParameter('val', strtolower($name)) + ->orderBy('p.id', 'ASC') + ->getQuery() + ->getResult() + ; + } + /** + * @return Place[] Returns an array of Place objects + */ + public function findPlaceById(int $id): array + { + return $this->createQueryBuilder('p') + ->andWhere('p.id = :val') + ->setParameter('val', $id) + ->orderBy('p.id', 'ASC') + ->getQuery() + ->getResult() + ; + } diff --git a/src/Repository/RoomRepository.php b/src/Repository/RoomRepository.php deleted file mode 100644 index 586eac9..0000000 --- a/src/Repository/RoomRepository.php +++ /dev/null @@ -1,77 +0,0 @@ - - * - * @method Room|null find($id, $lockMode = null, $lockVersion = null) - * @method Room|null findOneBy(array $criteria, array $orderBy = null) - * @method Room[] findAll() - * @method Room[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) - */ -class RoomRepository extends ServiceEntityRepository -{ - public function __construct(ManagerRegistry $registry) - { - parent::__construct($registry, Room::class); - } - - public function add(Room $entity, bool $flush = false): void - { - $this->getEntityManager()->persist($entity); - - if ($flush) { - $this->getEntityManager()->flush(); - } - } - - public function remove(Room $entity, bool $flush = false): void - { - $this->getEntityManager()->remove($entity); - - if ($flush) { - $this->getEntityManager()->flush(); - } - } - - /** - * @return Room[] Returns an array of Room objects - */ - public function findRoomByName(string $name): array - { - return $this->createQueryBuilder('r') - ->andWhere('r.name.lower() = :val') - ->setParameter('val', $name.lower()) - ->orderBy('r.id', 'ASC') - ->getQuery() - ->getResult() - ; - } - /** - * @return Room[] Returns an array of Room objects - */ - public function findRoomById(int $id): array - { - return $this->createQueryBuilder('r') - ->andWhere('r.id = :val') - ->setParameter('val', $id) - ->orderBy('r.id', 'ASC') - ->getQuery() - ->getResult() - ; - } -// public function findOneBySomeField($value): ?Room -// { -// return $this->createQueryBuilder('r') -// ->andWhere('r.exampleField = :val') -// ->setParameter('val', $value) -// ->getQuery() -// ->getOneOrNullResult() -// ; -// } -}