<?php
namespace Plugin\ScheduleDx\Entity;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
use Plugin\ScheduleDx\Entity\Extend\ScheduleTimeTrait;
/**
* PlgScheduleTime
*
* @ORM\Table(name="plg_schedule_time")
* @ORM\HasLifecycleCallbacks()
* @ORM\Entity(repositoryClass="Plugin\ScheduleDx\Repository\ScheduleTimeRepository")
*/
class ScheduleTime extends \Eccube\Entity\AbstractEntity
{
use ScheduleTimeTrait;
const PRODUCT_TYPE = 1;
const CATEGORY_TYPE = 2;
const PAGE_TYPE = 3;
const BLOCK_TYPE = 4;
const PRODUCT_TIME_ONLY_TYPE = 6;
public function __construct()
{
// 初期値設定
$this->viewFlg = false;
$this->timeViewFlg = false;
}
/**
* @var int
*
* @ORM\Column(name="schedule_time_id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var int
*
* @ORM\Column(name="schedule_type", type="integer", nullable=false)
*/
private $scheduleType;
/**
* @var \DateTime|null
*
* @ORM\Column(name="time_from", type="datetime", nullable=true)
*/
private $timeFrom;
/**
* @var \DateTime|null
*
* @ORM\Column(name="time_to", type="datetime", nullable=true)
*/
private $timeTo;
/**
* @var string
*
* @ORM\Column(name="time_only_from", type="string", nullable=true)
*/
private $timeOnlyFrom;
/**
* @var string
*
* @ORM\Column(name="time_only_to", type="string", nullable=true)
*/
private $timeOnlyTo;
/**
* @var bool
*
* @ORM\Column(name="view_flg", type="boolean", options={"default":false})
*/
private $viewFlg;
/**
* @var bool
* @ORM\Column(name="time_view_flg", type="boolean", options={"default":false})
*/
private $timeViewFlg;
/**
* @var \DateTime|null
*
* @ORM\Column(name="create_date", type="datetime", nullable=true)
*/
private $createDate;
/**
* @var \DateTime|null
*
* @ORM\Column(name="update_date", type="datetime", nullable=true)
*/
private $updateDate;
/**
* @var \Plugin\ScheduleDx\Entity\ScheduleTime
*
* @ORM\ManyToOne(targetEntity="Plugin\ScheduleDx\Entity\ScheduleTime")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="chain_schedule_time_id", referencedColumnName="schedule_time_id")
* })
*/
private $ChainScheduleTime;
/**
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* @return int
*/
public function getScheduleType(): ?int
{
return $this->scheduleType;
}
/**
* @param int $scheduleType
* @return ScheduleTime
*/
public function setScheduleType(int $scheduleType)
{
$this->scheduleType = $scheduleType;
return $this;
}
/**
* @return DateTime|null
*/
public function getTimeFrom(): ?DateTime
{
return $this->timeFrom;
}
/**
* @param DateTime|null $timeFrom
* @return $this
*/
public function setTimeFrom(?DateTime $timeFrom)
{
$this->timeFrom = $timeFrom;
return $this;
}
/**
* @return string|null
*/
public function getTimeOnlyFrom()
{
return $this->timeOnlyFrom;
}
/**
* @param string $timeOnlyFrom
* @return ScheduleTime
*/
public function setTimeOnlyFrom(?string $timeOnlyFrom)
{
$this->timeOnlyFrom = $timeOnlyFrom;
return $this;
}
/**
* @return string|null
*/
public function getTimeOnlyTo()
{
return $this->timeOnlyTo;
}
/**
* @param string $timeOnlyTo
* @return ScheduleTime
*/
public function setTimeOnlyTo(?string $timeOnlyTo)
{
$this->timeOnlyTo = $timeOnlyTo;
return $this;
}
/**
* @return DateTime|null
*/
public function getTimeTo(): ?DateTime
{
return $this->timeTo;
}
/**
* @param DateTime|null $timeTo
* @return $this
*/
public function setTimeTo(?DateTime $timeTo)
{
$this->timeTo = $timeTo;
return $this;
}
/**
* @return bool
*/
public function isViewFlg(): bool
{
return $this->viewFlg;
}
/**
* @param bool $viewFlg
* @return $this
*/
public function setViewFlg(bool $viewFlg)
{
$this->viewFlg = $viewFlg;
return $this;
}
/**
* @return DateTime|null
*/
public function getCreateDate(): ?DateTime
{
return $this->createDate;
}
/**
* @param DateTime|null $createDate
* @return $this
*/
public function setCreateDate(?DateTime $createDate)
{
$this->createDate = $createDate;
return $this;
}
/**
* @return DateTime|null
*/
public function getUpdateDate(): ?DateTime
{
return $this->updateDate;
}
/**
* @param DateTime|null $updateDate
* @return $this
*/
public function setUpdateDate(?DateTime $updateDate)
{
$this->updateDate = $updateDate;
return $this;
}
/**
* @return ScheduleTime|null
*/
public function getChainScheduleTime(): ?ScheduleTime
{
return $this->ChainScheduleTime;
}
/**
* @param ScheduleTime $ChainScheduleTime
* @return ScheduleTime
*/
public function setChainScheduleTime(?ScheduleTime $ChainScheduleTime): ScheduleTime
{
$this->ChainScheduleTime = $ChainScheduleTime;
return $this;
}
/**
* @return bool
*/
public function isTimeViewFlg()
{
return $this->timeViewFlg;
}
/**
* @param bool $timeViewFlg
* @return $this
*/
public function setTimeViewFlg($timeViewFlg)
{
$this->timeViewFlg = $timeViewFlg;
return $this;
}
}