<?php
namespace App\Entity;
use App\Repository\ChildPreferenceHistoryRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Annotation\Groups;
/**
* @ORM\Entity(repositoryClass=ChildPreferenceHistoryRepository::class)
*/
class ChildPreferenceHistory
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity=Discipline::class, inversedBy="childPreferenceHistories")
* @ORM\JoinColumn(nullable=true)
*/
private $discipline;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $amount;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $duration;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $type;
/**
* @ORM\ManyToOne(targetEntity=Teacher::class, inversedBy="childPreferenceHistories")
*/
private $teacher;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $comment;
/**
* @ORM\ManyToOne(targetEntity=Child::class, inversedBy="childPreferenceHistories")
*/
private $child;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $childPreferenceTimes;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $fittingTimes;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $emailDuration;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $singleEmailDuration;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $startTime;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $endTime;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $deletedBy;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $terminateReason;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $teacherChange;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $status;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $deletedAt;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $action;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $subAction;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $preferenceCreatedAt;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $tutorTerminateComment;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $actionAt;
public function __construct()
{
$this->childPreferenceTimes = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getDiscipline(): ?Discipline
{
return $this->discipline;
}
public function setDiscipline(?Discipline $discipline): self
{
$this->discipline = $discipline;
return $this;
}
public function getAmount(): ?int
{
return $this->amount;
}
public function setAmount($amount): self
{
$this->amount = $amount;
return $this;
}
public function getDuration(): ?int
{
return $this->duration;
}
public function setDuration($duration): self
{
$this->duration = $duration;
return $this;
}
public function getDeletedBy(): ?string
{
return $this->deletedBy;
}
public function setDeletedBy(?string $deletedBy): self
{
$this->deletedBy = $deletedBy;
return $this;
}
public function getType(): ?string
{
return $this->type;
}
public function setType(?string $type): self
{
$this->type = $type;
return $this;
}
public function getTeacher(): ?Teacher
{
return $this->teacher;
}
public function setTeacher(?Teacher $teacher): self
{
$this->teacher = $teacher;
return $this;
}
public function getComment(): ?string
{
return $this->comment;
}
public function setComment(?string $comment): self
{
$this->comment = $comment;
return $this;
}
public function getChild(): ?Child
{
return $this->child;
}
public function setChild(?Child $child): self
{
$this->child = $child;
return $this;
}
public function getChildPreferenceTimes(): string
{
return $this->childPreferenceTimes;
}
public function setChildPreferenceTimes(string $childPreferenceTime): self
{
$this->childPreferenceTimes = $childPreferenceTime;
return $this;
}
public function __toString()
{
return "{$this->child} {$this->id} {$this->discipline}";
}
public function getFittingTimes(): ?string
{
return $this->fittingTimes;
}
public function setFittingTimes(?string $fittingTimes): self
{
$this->fittingTimes = $fittingTimes;
return $this;
}
public function getEmailDuration(): ?int
{
return $this->emailDuration;
}
public function setEmailDuration(?int $emailDuration): self
{
$this->emailDuration = $emailDuration;
return $this;
}
public function getSingleEmailDuration(): ?int
{
return $this->singleEmailDuration;
}
public function setSingleEmailDuration(?int $singleEmailDuration): self
{
$this->singleEmailDuration = $singleEmailDuration;
return $this;
}
public function getStartTime(): ?\DateTimeInterface
{
return $this->startTime;
}
public function setStartTime(?\DateTimeInterface $startTime): self
{
$this->startTime = $startTime;
return $this;
}
public function getEndTime(): ?\DateTimeInterface
{
return $this->endTime;
}
public function setEndTime(?\DateTimeInterface $endTime): self
{
$this->endTime = $endTime;
return $this;
}
public function getTerminateReason(): ?string
{
return $this->terminateReason;
}
public function setTerminateReason(?string $terminateReason): self
{
$this->terminateReason = $terminateReason;
return $this;
}
public function getTeacherChange(): ?string
{
return $this->teacherChange;
}
public function setTeacherChange(?string $teacherChange): self
{
$this->teacherChange = $teacherChange;
return $this;
}
public function getStatus(): ?string
{
return $this->status;
}
public function setStatus(?string $status): self
{
$this->status = $status;
return $this;
}
public function getDeletedAt(): ?\DateTimeInterface
{
return $this->deletedAt;
}
public function setDeletedAt(?\DateTimeInterface $deletedAt): self
{
$this->deletedAt = $deletedAt;
return $this;
}
public function getAction(): ?string
{
return $this->action;
}
public function setAction(?string $action): self
{
$this->action = $action;
return $this;
}
public function getSubAction(): ?string
{
return $this->subAction;
}
public function setSubAction(?string $subAction): self
{
$this->subAction = $subAction;
return $this;
}
public function getPreferenceCreatedAt(): ?\DateTimeInterface
{
return $this->preferenceCreatedAt;
}
public function setPreferenceCreatedAt(?\DateTimeInterface $preferenceCreatedAt): self
{
$this->preferenceCreatedAt = $preferenceCreatedAt;
return $this;
}
public function getTutorTerminateComment(): ?string
{
return $this->tutorTerminateComment;
}
public function setTutorTerminateComment(?string $tutorTerminateComment): self
{
$this->tutorTerminateComment = $tutorTerminateComment;
return $this;
}
public function getActionAt(): ?\DateTimeInterface
{
return $this->actionAt;
}
public function setActionAt(?\DateTimeInterface $actionAt): self
{
$this->actionAt = $actionAt;
return $this;
}
}