<?php
declare(strict_types=1);
namespace Slivki\Dto\Director;
use DateTimeImmutable;
use Slivki\Dto\InfoPage\InfoPageDto;
final class DirectorDto
{
private int $id;
private string $name;
private ?string $legalEntity;
private ?string $legalEmail;
private ?string $legalAddress;
private ?string $taxId;
private ?string $registrationAuthority;
private ?string $phoneNumber;
private ?string $workingHours;
private ?string $footerInfo;
private ?DateTimeImmutable $taxRegistrationDate;
private ?DateTimeImmutable $getTradeRegistrationDate;
/**
* @var array<InfoPageDto>
*/
private array $infoPages;
public function __construct(
int $id,
string $name,
?string $legalEntity,
?string $legalEmail,
?string $legalAddress,
?string $taxId,
?string $registrationAuthority,
?string $phoneNumber,
?string $workingHours,
?string $footerInfo,
?DateTimeImmutable $taxRegistrationDate,
?DateTimeImmutable $getTradeRegistrationDate,
array $infoPages
) {
$this->id = $id;
$this->name = $name;
$this->legalEntity = $legalEntity;
$this->legalEmail = $legalEmail;
$this->legalAddress = $legalAddress;
$this->taxId = $taxId;
$this->registrationAuthority = $registrationAuthority;
$this->phoneNumber = $phoneNumber;
$this->workingHours = $workingHours;
$this->footerInfo = $footerInfo;
$this->taxRegistrationDate = $taxRegistrationDate;
$this->getTradeRegistrationDate = $getTradeRegistrationDate;
$this->infoPages = $infoPages;
}
public function getId(): int
{
return $this->id;
}
public function getName(): string
{
return $this->name;
}
public function getLegalEntity(): ?string
{
return $this->legalEntity;
}
public function getLegalEmail(): ?string
{
return $this->legalEmail;
}
public function getLegalAddress(): ?string
{
return $this->legalAddress;
}
public function getTaxId(): ?string
{
return $this->taxId;
}
public function getRegistrationAuthority(): ?string
{
return $this->registrationAuthority;
}
public function getPhoneNumber(): ?string
{
return $this->phoneNumber;
}
public function getWorkingHours(): ?string
{
return $this->workingHours;
}
public function getFooterInfo(): ?string
{
return $this->footerInfo;
}
public function getTaxRegistrationDate(): ?DateTimeImmutable
{
return $this->taxRegistrationDate;
}
public function getGetTradeRegistrationDate(): ?DateTimeImmutable
{
return $this->getTradeRegistrationDate;
}
public function getInfoPages(): array
{
return $this->infoPages;
}
}