<?php
/*
* Author: Dominik Piekarski <code@dompie.de>
* Created at: 2021/07/01 15:16
*/
declare(strict_types=1);
namespace App\Dto;
class ContactFormData
{
private $lastName;
private $firstName;
private $email;
private $phone;
private $webmId;
private $topic;
private $message;
private $userLoggedIn = 'unbekannt';
public function __construct(array $userDetails)
{
if(isset($userDetails['account']) === true) {
$this->setIsUserLoggedIn(true);
}
if (isset($userDetails['person'])) {
$this->setFirstName($userDetails['person']['first_name'] ?? '');
$this->setLastName($userDetails['person']['last_name'] ?? '');
$this->setPhone($userDetails['person']['cell_phone'] ?? '');
}
if (isset($userDetails['account'])) {
$this->setEmail($userDetails['account']['email'] ?? '');
}
}
public function setIsUserLoggedIn(?bool $userIsLoggedIn = null): void
{
if ($userIsLoggedIn === null) {
$this->userLoggedIn = 'unbekannt';
return;
}
$this->userLoggedIn = $userIsLoggedIn ? 'ja' : 'nein';
}
public function getIsUserLoggedIn(): bool {
return $this->userLoggedIn === 'ja';
}
public function getLastName()
{
return $this->lastName;
}
public function setLastName($lastName): void
{
$this->lastName = $lastName;
}
public function getFirstName()
{
return $this->firstName;
}
public function setFirstName($firstName): void
{
$this->firstName = $firstName;
}
public function getEmail()
{
return $this->email;
}
public function setEmail($email): void
{
$this->email = $email;
}
public function getPhone()
{
return $this->phone;
}
public function setPhone($phone): void
{
$this->phone = $phone;
}
public function getWebmId()
{
return $this->webmId;
}
public function setWebmId($webmId): void
{
$this->webmId = $webmId;
}
public function getTopic()
{
return $this->topic;
}
public function setTopic($topic): void
{
$this->topic = $topic;
}
public function getMessage()
{
return $this->message;
}
public function setMessage($message): void
{
$this->message = $message;
}
public function toArray(): array
{
return [
'first_name' => $this->getFirstName(),
'last_name' => $this->getLastName(),
'email' => $this->getEmail(),
'phone' => $this->getPhone(),
'webm_id' => $this->getWebmId(),
'topic' => $this->getTopic(),
'message' => $this->getMessage(),
'userLoggedIn' => $this->userLoggedIn,
];
}
}