X-Git-Url: https://git.rapsys.eu/airbundle/blobdiff_plain/40fa570f0ce4fc6b518ab7b6d71fde5bf249cd56..6235f8f993d9a97f08d00ce578c86da020d7e978:/Entity/Dance.php?ds=inline diff --git a/Entity/Dance.php b/Entity/Dance.php index fa07ba9..8d83062 100644 --- a/Entity/Dance.php +++ b/Entity/Dance.php @@ -26,7 +26,12 @@ class Dance { /** * @var string */ - protected $title; + protected $name; + + /** + * @var string + */ + protected $type; /** * @var \DateTime @@ -50,8 +55,18 @@ class Dance { /** * Constructor + * + * @param string $name The dance name + * @param string $type The dance type */ - public function __construct() { + public function __construct(string $name, string $type) { + //Set defaults + $this->name = $name; + $this->type = $type; + $this->created = new \DateTime('now'); + $this->updated = new \DateTime('now'); + + //Set collections $this->applications = new ArrayCollection(); $this->users = new ArrayCollection(); } @@ -66,25 +81,47 @@ class Dance { } /** - * Set title + * Set name * - * @param string $title + * @param string $name * * @return Dance */ - public function setTitle(string $title): Dance { - $this->title = $title; + public function setName(string $name): Dance { + $this->name = $name; return $this; } /** - * Get title + * Get name * * @return string */ - public function getTitle(): string { - return $this->title; + public function getName(): string { + return $this->name; + } + + /** + * Set type + * + * @param string $type + * + * @return Dance + */ + public function setType(string $type): Dance { + $this->type = $type; + + return $this; + } + + /** + * Get type + * + * @return string + */ + public function getType(): string { + return $this->type; } /** @@ -172,6 +209,9 @@ class Dance { * @return Dance */ public function addUser(User $user): Dance { + //Add from owning side + $user->addSubscriber($this); + $this->users[] = $user; return $this; @@ -185,6 +225,13 @@ class Dance { * @return bool */ public function removeUser(User $user): bool { + if (!$this->users->contains($user)) { + return true; + } + + //Remove from owning side + $user->removeSubscriber($this); + return $this->users->removeElement($user); } @@ -201,7 +248,7 @@ class Dance { * {@inheritdoc} */ public function preUpdate(PreUpdateEventArgs $eventArgs) { - //Check that we have an session instance + //Check that we have a dance instance if (($dance = $eventArgs->getEntity()) instanceof Dance) { //Set updated value $dance->setUpdated(new \DateTime('now')); @@ -214,6 +261,6 @@ class Dance { * @return string */ public function __toString(): string { - return $this->title; + return $this->name.' '.lcfirst($this->type); } }