X-Git-Url: https://git.rapsys.eu/.gitweb.cgi/airbundle/blobdiff_plain/f110b8ba20232e0ceeb67390f8e672431868d32d..e4299e3bb280ad6fb9bd640f2cd7c6d61335f0b2:/Entity/Session.php diff --git a/Entity/Session.php b/Entity/Session.php index 72d1f33..e746171 100644 --- a/Entity/Session.php +++ b/Entity/Session.php @@ -24,7 +24,67 @@ class Session { /** * @var \DateTime */ - private $end; + private $start = null; + + /** + * @var \DateTime + */ + private $length; + + /** + * @var \DateTime + */ + private $stop = null; + + /** + * @var boolean + */ + private $premium; + + /** + * @var float + */ + private $rainfall; + + /** + * @var float + */ + private $rainrisk; + + /** + * @var float + */ + private $realfeel; + + /** + * @var float + */ + private $realfeelmin; + + /** + * @var float + */ + private $realfeelmax; + + /** + * @var integer + */ + private $temperature; + + /** + * @var integer + */ + private $temperaturemin; + + /** + * @var integer + */ + private $temperaturemax; + + /** + * @var \DateTime + */ + private $locked; /** * @var \DateTime @@ -37,9 +97,9 @@ class Session { private $updated; /** - * @var \Doctrine\Common\Collections\Collection + * @var \Rapsys\AirBundle\Entity\Application */ - private $applications; + private $application; /** * @var \Rapsys\AirBundle\Entity\Location @@ -47,9 +107,14 @@ class Session { private $location; /** - * @var \Rapsys\AirBundle\Entity\Application + * @var \Rapsys\AirBundle\Entity\Slot */ - private $application; + private $slot; + + /** + * @var \Doctrine\Common\Collections\Collection + */ + private $applications; /** * Constructor @@ -112,25 +177,288 @@ class Session { } /** - * Set end + * Get start * - * @param \DateTime $end + * @return \DateTime + */ + public function getStart() { + //Check start + if ($this->start !== null) { + return $this->start; + } + + //Clone date + $this->start = clone $this->date; + + //Check if after slot + //XXX: id=4 <=> title=After + if ($this->slot->getId() == 4) { + //Add one day + $this->start->add(new \DateInterval('P1D')); + } + + //Return date + return $this->start->setTime($this->begin->format('H'), $this->begin->format('i'), $this->begin->format('s')); + } + + /** + * Set length + * + * @param \DateTime $length * * @return Session */ - public function setEnd($end) { - $this->end = $end; + public function setLength($length) { + $this->length = $length; return $this; } /** - * Get end + * Get length + * + * @return \DateTime + */ + public function getLength() { + return $this->length; + } + + /** + * Get stop * * @return \DateTime */ - public function getEnd() { - return $this->end; + public function getStop() { + //Check start + if ($this->stop !== null) { + return $this->stop; + } + + //Get start clone + $this->stop = clone $this->getStart(); + + //Return date + return $this->stop->add(new \DateInterval('PT'.$this->length->format('H').'H'.$this->length->format('i').'M'.$this->length->format('s').'S')); + } + + /** + * Set premium + * + * @param boolean $premium + * + * @return Session + */ + public function setPremium($premium) { + $this->premium = $premium; + + return $this; + } + + /** + * Get premium + * + * @return boolean + */ + public function getPremium() { + return $this->premium; + } + + /** + * Set rainfall + * + * @param boolean $rainfall + * + * @return Session + */ + public function setRainfall($rainfall) { + $this->rainfall = $rainfall; + + return $this; + } + + /** + * Get rainfall + * + * @return boolean + */ + public function getRainfall() { + return $this->rainfall; + } + + /** + * Set rainrisk + * + * @param boolean $rainrisk + * + * @return Session + */ + public function setRainrisk($rainrisk) { + $this->rainrisk = $rainrisk; + + return $this; + } + + /** + * Get rainrisk + * + * @return boolean + */ + public function getRainrisk() { + return $this->rainrisk; + } + + /** + * Set realfeel + * + * @param integer $realfeel + * + * @return Session + */ + public function setRealfeel($realfeel) { + $this->realfeel = $realfeel; + + return $this; + } + + /** + * Get realfeel + * + * @return integer + */ + public function getRealfeel() { + return $this->realfeel; + } + + /** + * Set realfeelmin + * + * @param integer $realfeelmin + * + * @return Session + */ + public function setRealfeelmin($realfeelmin) { + $this->realfeelmin = $realfeelmin; + + return $this; + } + + /** + * Get realfeelmin + * + * @return integer + */ + public function getRealfeelmin() { + return $this->realfeelmin; + } + + /** + * Set realfeelmax + * + * @param integer $realfeelmax + * + * @return Session + */ + public function setRealfeelmax($realfeelmax) { + $this->realfeelmax = $realfeelmax; + + return $this; + } + + /** + * Get realfeelmax + * + * @return integer + */ + public function getRealfeelmax() { + return $this->realfeelmax; + } + + /** + * Set temperature + * + * @param integer $temperature + * + * @return Session + */ + public function setTemperature($temperature) { + $this->temperature = $temperature; + + return $this; + } + + /** + * Get temperature + * + * @return integer + */ + public function getTemperature() { + return $this->temperature; + } + + /** + * Set temperaturemin + * + * @param integer $temperaturemin + * + * @return Session + */ + public function setTemperaturemin($temperaturemin) { + $this->temperaturemin = $temperaturemin; + + return $this; + } + + /** + * Get temperaturemin + * + * @return integer + */ + public function getTemperaturemin() { + return $this->temperaturemin; + } + + /** + * Set temperaturemax + * + * @param integer $temperaturemax + * + * @return Session + */ + public function setTemperaturemax($temperaturemax) { + $this->temperaturemax = $temperaturemax; + + return $this; + } + + /** + * Get temperaturemax + * + * @return integer + */ + public function getTemperaturemax() { + return $this->temperaturemax; + } + + /** + * Set locked + * + * @param \DateTime $locked + * + * @return Session + */ + public function setLocked($locked) { + $this->locked = $locked; + + return $this; + } + + /** + * Get locked + * + * @return \DateTime + */ + public function getLocked() { + return $this->locked; } /** @@ -229,11 +557,6 @@ class Session { public function getLocation() { return $this->location; } - /** - * @var \Rapsys\AirBundle\Entity\Slot - */ - private $slot; - /** * Set slot