164 lines
2.9 KiB
PHP
164 lines
2.9 KiB
PHP
<?php
|
|
|
|
namespace App\Entity;
|
|
|
|
use Doctrine\ORM\Mapping as ORM;
|
|
use Doctrine\Common\Collections\ArrayCollection;
|
|
use Symfony\Component\Validator\Constraints as Assert;
|
|
|
|
use CrEOF\Spatial\PHP\Types\Geometry\Point;
|
|
use DateTime;
|
|
|
|
|
|
/**
|
|
* @ORM\Entity
|
|
* @ORM\Table(name="hub")
|
|
*/
|
|
class Hub
|
|
{
|
|
// unique id
|
|
/**
|
|
* @ORM\Id
|
|
* @ORM\Column(type="integer")
|
|
* @ORM\GeneratedValue(strategy="AUTO")
|
|
*/
|
|
protected $id;
|
|
|
|
// name of hub
|
|
/**
|
|
* @ORM\Column(type="string", length=80)
|
|
*/
|
|
protected $name;
|
|
|
|
// address
|
|
/**
|
|
* @ORM\Column(type="string", length=80)
|
|
*/
|
|
protected $address;
|
|
|
|
// address coordinates
|
|
/**
|
|
* @ORM\Column(type="point")
|
|
*/
|
|
protected $coordinates;
|
|
|
|
// contact numbers
|
|
// this is displayed in a textarea
|
|
/**
|
|
* @ORM\Column(type="string", length=200)
|
|
*/
|
|
protected $contact_nums;
|
|
|
|
// opening time
|
|
/**
|
|
* @ORM\Column(type="time")
|
|
*/
|
|
protected $time_open;
|
|
|
|
// closing time
|
|
/**
|
|
* @ORM\Column(type="time")
|
|
*/
|
|
protected $time_close;
|
|
|
|
// riders assigned to this hub
|
|
/**
|
|
* @ORM\OneToMany(targetEntity="Rider", mappedBy="hub")
|
|
*/
|
|
protected $riders;
|
|
|
|
// outlets under this hub
|
|
/**
|
|
* @ORM\OneToMany(targetEntity="Outlet", mappedBy="hub")
|
|
*/
|
|
protected $outlets;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->riders = new ArrayCollection();
|
|
$this->time_open = new DateTime();
|
|
$this->time_close = new DateTime();
|
|
|
|
}
|
|
|
|
public function getID()
|
|
{
|
|
return $this->id;
|
|
}
|
|
|
|
public function setName($name)
|
|
{
|
|
$this->name = $name;
|
|
return $this;
|
|
}
|
|
|
|
public function getName()
|
|
{
|
|
return $this->name;
|
|
}
|
|
|
|
public function setAddress($address)
|
|
{
|
|
$this->address = $address;
|
|
return $this;
|
|
}
|
|
|
|
public function getAddress()
|
|
{
|
|
return $this->address;
|
|
}
|
|
|
|
public function setCoordinates(Point $point)
|
|
{
|
|
$this->coordinates = $point;
|
|
return $this;
|
|
}
|
|
|
|
public function getCoordinates()
|
|
{
|
|
return $this->coordinates;
|
|
}
|
|
|
|
public function setContactNumbers($nums)
|
|
{
|
|
$this->contact_nums = $nums;
|
|
return $this;
|
|
}
|
|
|
|
public function getContactNumbers()
|
|
{
|
|
return $this->contact_nums;
|
|
}
|
|
|
|
public function setTimeOpen(DateTime $time_open)
|
|
{
|
|
$this->time_open = $time_open;
|
|
return $this;
|
|
}
|
|
|
|
public function getTimeOpen()
|
|
{
|
|
return $this->time_open;
|
|
}
|
|
|
|
public function setTimeClose(DateTime $time_close)
|
|
{
|
|
$this->time_close = $time_close;
|
|
return $this;
|
|
}
|
|
|
|
public function getTimeClose()
|
|
{
|
|
return $this->time_close;
|
|
}
|
|
|
|
public function getRiders()
|
|
{
|
|
return $this->riders;
|
|
}
|
|
|
|
public function getOutlets()
|
|
{
|
|
return $this->outlets;
|
|
}
|
|
}
|