<?php
namespace App\Entity;
use App\Repository\TeacherPaymentLogRepository;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=TeacherPaymentLogRepository::class)
*/
class TeacherPaymentLog
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity=Teacher::class, inversedBy="teacherPaymentLogs")
*/
private $teacher;
/**
* @ORM\ManyToOne(targetEntity=Lesson::class, inversedBy="teacherPaymentLogs")
* @ORM\JoinColumn(name="lesson_id", referencedColumnName="id", nullable=true, onDelete="SET NULL")
*/
private $lesson;
/**
* @ORM\Column(type="float", nullable=true)
*/
private $amount;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $dateAdd;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $dateFor;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $info;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $duration;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $startTime;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $endTime;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $status;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $discipline;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $clients;
/**
* @ORM\ManyToOne(targetEntity=LessonDeleted::class)
*/
private $lessonDeleted;
public function __construct()
{
$this->dateAdd = new \DateTime();
}
public function getId(): ?int
{
return $this->id;
}
public function getTeacher(): ?Teacher
{
return $this->teacher;
}
public function setTeacher(?Teacher $teacher): self
{
$this->teacher = $teacher;
return $this;
}
public function getLesson(): ?Lesson
{
return $this->lesson;
}
public function setLesson(?Lesson $lesson): self
{
$this->lesson = $lesson;
return $this;
}
public function getAmount(): ?float
{
return $this->amount;
}
public function setAmount(?float $amount): self
{
$this->amount = $amount;
return $this;
}
public function getDateAdd(): ?\DateTimeInterface
{
return $this->dateAdd;
}
public function setDateAdd(?\DateTimeInterface $dateAdd): self
{
$this->dateAdd = $dateAdd;
return $this;
}
public function getDateFor(): ?\DateTimeInterface
{
return $this->dateFor;
}
public function setDateFor(?\DateTimeInterface $dateFor): self
{
$this->dateFor = $dateFor;
return $this;
}
public function getInfo(): ?string
{
return $this->info;
}
public function setInfo(?string $info): self
{
$this->info = $info;
return $this;
}
public function getDuration(): ?int
{
return $this->duration;
}
public function setDuration(?int $duration): self
{
$this->duration = $duration;
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 getStatus(): ?string
{
$text = $this->status;
foreach (Lesson::STATUSES as $STATUS)
{
if($STATUS['value'] == $this->status)
{
$text = $STATUS['text'];
}
}
return $text;
}
public function setStatus(?string $status): self
{
foreach (Lesson::STATUSES as $STATUS)
{
if($STATUS['text'] == $status)
{
$status = $STATUS['value'];
}
}
$this->status = $status;
return $this;
}
public function getDisciplineFull(): ?string
{
$disciplines = ['MAT' => 'Matematika',
'LT' => 'Lietuvių k.',
'ANG' => 'Anglu k.',
'FIZ' => 'Fizika',
'CHE' => 'Chemija',
'BIO' => 'Biologija',
'IST' => 'Istorija',
'IT' => 'Informatika',
'VOK' => 'Vokiečių k.',
'FRA' => 'Prancūzų k.',
'RU' => 'Rusų k.',
'GEO' => 'Geografija',
'ISP' => 'Ispanų k.',
];
if (isset($disciplines[$this->discipline])) {
return $disciplines[$this->discipline];
}
return $this->discipline;
}
public function getDiscipline(): ?string
{
return $this->discipline;
}
public function setDiscipline(?string $discipline): self
{
$this->discipline = $discipline;
return $this;
}
public function getClients(): ?string
{
return $this->clients;
}
public function setClients(?string $clients): self
{
$this->clients = $clients;
return $this;
}
public function getStatusColor(): ?string
{
$color = "";
foreach (Lesson::ALL_STATUSES as $STATUS)
{
if($STATUS['value'] == $this->status)
{
$color = $STATUS['color'];
}
}
return $color;
}
public function getLessonDeleted(): ?LessonDeleted
{
return $this->lessonDeleted;
}
public function setLessonDeleted(?LessonDeleted $lessonDeleted): self
{
$this->lessonDeleted = $lessonDeleted;
return $this;
}
}