X-Git-Url: https://git.rapsys.eu/airbundle/blobdiff_plain/c812e773a8195a42a718ce2de0a4e9bca65382aa..b55b7f6127d518d2894508ba1837b71364c1768b:/Entity/Dance.php diff --git a/Entity/Dance.php b/Entity/Dance.php index 59896cd..6ae5f1b 100644 --- a/Entity/Dance.php +++ b/Entity/Dance.php @@ -1,16 +1,17 @@ + * (c) Raphaël Gertz * - * for the full copyright and license information, please view the license + * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Rapsys\AirBundle\Entity; +use Doctrine\Common\Collections\Collection; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Event\PreUpdateEventArgs; @@ -19,39 +20,29 @@ use Doctrine\ORM\Event\PreUpdateEventArgs; */ class Dance { /** - * @var integer + * Primary key */ - private $id; + private ?int $id = null; /** - * @var string + * Create datetime */ - protected $name; + private \DateTime $created; /** - * @var string + * Update datetime */ - protected $type; + private \DateTime $updated; /** - * @var \DateTime + * Applications collection */ - private $created; + private Collection $applications; /** - * @var \DateTime + * Users collection */ - private $updated; - - /** - * @var ArrayCollection - */ - private $applications; - - /** - * @var ArrayCollection - */ - private $users; + private Collection $users; /** * Constructor @@ -59,10 +50,8 @@ class Dance { * @param string $name The dance name * @param string $type The dance type */ - public function __construct(string $name, string $type) { + public function __construct(private string $name, private string $type) { //Set defaults - $this->name = $name; - $this->type = $type; $this->created = new \DateTime('now'); $this->updated = new \DateTime('now'); @@ -76,7 +65,7 @@ class Dance { * * @return integer */ - public function getId(): int { + public function getId(): ?int { return $this->id; } @@ -210,7 +199,7 @@ class Dance { */ public function addUser(User $user): Dance { //Add from owning side - $user->addSubscriber($this); + $user->addDance($this); $this->users[] = $user; @@ -225,8 +214,12 @@ class Dance { * @return bool */ public function removeUser(User $user): bool { + if (!$this->dances->contains($user)) { + return true; + } + //Remove from owning side - $user->removeSubscriber($this); + $user->removeDance($this); return $this->users->removeElement($user); } @@ -245,7 +238,7 @@ class Dance { */ public function preUpdate(PreUpdateEventArgs $eventArgs) { //Check that we have a dance instance - if (($dance = $eventArgs->getEntity()) instanceof Dance) { + if (($dance = $eventArgs->getObject()) instanceof Dance) { //Set updated value $dance->setUpdated(new \DateTime('now')); }