X-Git-Url: https://git.rapsys.eu/airbundle/blobdiff_plain/af2a5ccc05e664274d24ee8711d398d7dec8808d..61e51b1afe272422dd8297ec57c3db8cfb1bb441:/Entity/Session.php diff --git a/Entity/Session.php b/Entity/Session.php index 6a0f138..e746171 100644 --- a/Entity/Session.php +++ b/Entity/Session.php @@ -21,11 +21,71 @@ class Session { */ private $begin; + /** + * @var \DateTime + */ + 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 */ @@ -116,6 +176,31 @@ class Session { return $this->begin; } + /** + * Get start + * + * @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 * @@ -138,6 +223,244 @@ class Session { return $this->length; } + /** + * Get stop + * + * @return \DateTime + */ + 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; + } + /** * Set created *