resq/src/Ramcar/Location.php

154 lines
2.9 KiB
PHP

<?php
namespace App\Ramcar;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use CrEOF\Spatial\PHP\Types\Geometry\Point;
use DateTime;
trait Location
{
// unique id
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
// name of location
/**
* @ORM\Column(type="string", length=80)
* @Assert\NotBlank()
*/
protected $name;
// branch name
/**
* @ORM\Column(type="string", length=80)
*/
protected $branch;
// address
/**
* @ORM\Column(type="text")
* @Assert\NotBlank()
*/
protected $address;
// address coordinates
/**
* @ORM\Column(type="point")
*/
protected $coordinates;
// contact numbers
// this is displayed in a textarea
/**
* @ORM\Column(type="string", length=200, nullable=true)
*/
protected $contact_nums;
// opening time
/**
* @ORM\Column(type="time")
* @Assert\NotBlank()
*/
protected $time_open;
// closing time
/**
* @ORM\Column(type="time")
* @Assert\NotBlank()
*/
protected $time_close;
public function getID()
{
return $this->id;
}
public function setName($name)
{
$this->name = $name;
return $this;
}
public function getName()
{
return $this->name;
}
public function setBranch($branch)
{
$this->branch = $branch;
return $this;
}
public function getBranch()
{
return $this->branch;
}
public function getFullName()
{
return $this->name . ($this->branch ? ' - ' . $this->branch : '');
}
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;
}
}