X-Git-Url: https://git.rapsys.eu/airbundle/blobdiff_plain/68663463f2ad060a95d809454e8f035dc0496cf5..b55b7f6127d518d2894508ba1837b71364c1768b:/Entity/Application.php diff --git a/Entity/Application.php b/Entity/Application.php index 2e8cca5..b2672a1 100644 --- a/Entity/Application.php +++ b/Entity/Application.php @@ -1,56 +1,69 @@ - + * + * 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\ORM\Event\PreUpdateEventArgs; + /** * Application */ class Application { /** - * @var integer + * Primary key */ - private $id; + private ?int $id = null; /** - * @var float + * Dance instance */ - private $score; + private Dance $dance; /** - * @var \DateTime + * Score */ - private $canceled; + private ?float $score = null; /** - * @var \DateTime + * Cancel datetime */ - private $created; + private ?\DateTime $canceled = null; /** - * @var \DateTime + * Create datetime */ - private $updated; + private \DateTime $created; /** - * @var \Doctrine\Common\Collections\Collection + * Update datetime */ - private $votes; + private \DateTime $updated; /** - * @var \Rapsys\AirBundle\Entity\Session + * Session instance */ - private $session; + private $session = null; /** - * @var \Rapsys\AirBundle\Entity\User + * User instance */ - private $user; + private $user = null; /** * Constructor */ public function __construct() { - $this->votes = new \Doctrine\Common\Collections\ArrayCollection(); + //Set defaults + $this->created = new \DateTime('now'); + $this->updated = new \DateTime('now'); } /** @@ -58,10 +71,32 @@ class Application { * * @return integer */ - public function getId() { + public function getId(): ?int { return $this->id; } + /** + * Set dance + * + * @param Dance $dance + * + * @return Application + */ + public function setDance(Dance $dance): Application { + $this->dance = $dance; + + return $this; + } + + /** + * Get dance + * + * @return Dance + */ + public function getDance(): Dance { + return $this->dance; + } + /** * Set score * @@ -69,7 +104,7 @@ class Application { * * @return Application */ - public function setScore($score) { + public function setScore(?float $score): Application { $this->score = $score; return $this; @@ -80,7 +115,7 @@ class Application { * * @return float */ - public function getScore() { + public function getScore(): ?float { return $this->score; } @@ -91,7 +126,7 @@ class Application { * * @return Application */ - public function setCanceled($canceled) { + public function setCanceled(?\DateTime $canceled): Application { $this->canceled = $canceled; return $this; @@ -102,7 +137,7 @@ class Application { * * @return \DateTime */ - public function getCanceled() { + public function getCanceled(): ?\DateTime { return $this->canceled; } @@ -113,7 +148,7 @@ class Application { * * @return Application */ - public function setCreated($created) { + public function setCreated(\DateTime $created): Application { $this->created = $created; return $this; @@ -124,7 +159,7 @@ class Application { * * @return \DateTime */ - public function getCreated() { + public function getCreated(): \DateTime { return $this->created; } @@ -135,7 +170,7 @@ class Application { * * @return Application */ - public function setUpdated($updated) { + public function setUpdated(\DateTime $updated): Application { $this->updated = $updated; return $this; @@ -146,49 +181,18 @@ class Application { * * @return \DateTime */ - public function getUpdated() { + public function getUpdated(): \DateTime { return $this->updated; } - /** - * Add vote - * - * @param \Rapsys\AirBundle\Entity\Vote $vote - * - * @return Application - */ - public function addVote(\Rapsys\AirBundle\Entity\Vote $vote) { - $this->votes[] = $vote; - - return $this; - } - - /** - * Remove vote - * - * @param \Rapsys\AirBundle\Entity\Vote $vote - */ - public function removeVote(\Rapsys\AirBundle\Entity\Vote $vote) { - $this->votes->removeElement($vote); - } - - /** - * Get votes - * - * @return \Doctrine\Common\Collections\Collection - */ - public function getVotes() { - return $this->votes; - } - /** * Set session * - * @param \Rapsys\AirBundle\Entity\Session $session + * @param Session $session * * @return Application */ - public function setSession(\Rapsys\AirBundle\Entity\Session $session = null) { + public function setSession(Session $session): Application { $this->session = $session; return $this; @@ -197,20 +201,20 @@ class Application { /** * Get session * - * @return \Rapsys\AirBundle\Entity\Session + * @return Session */ - public function getSession() { + public function getSession(): Session { return $this->session; } /** * Set user * - * @param \Rapsys\AirBundle\Entity\User $user + * @param User $user * * @return Application */ - public function setUser(\Rapsys\AirBundle\Entity\User $user = null) { + public function setUser(User $user): Application { $this->user = $user; return $this; @@ -219,9 +223,20 @@ class Application { /** * Get user * - * @return \Rapsys\AirBundle\Entity\User + * @return User */ - public function getUser() { + public function getUser(): User { return $this->user; } + + /** + * {@inheritdoc} + */ + public function preUpdate(PreUpdateEventArgs $eventArgs) { + //Check that we have an application instance + if (($application = $eventArgs->getObject()) instanceof Application) { + //Set updated value + $application->setUpdated(new \DateTime('now')); + } + } }