86 lines
2.0 KiB
PHP
86 lines
2.0 KiB
PHP
<?php
|
|
|
|
namespace App\Entity\Embeddable;
|
|
|
|
use App\Validator\Constraints as AppAssert;
|
|
use Doctrine\ORM\Mapping as ORM;
|
|
use Symfony\Component\Validator\Constraints as Assert;
|
|
|
|
#[ORM\Embeddable]
|
|
#[AppAssert\BankAccount(message: 'Bitte vervollständige deine Bankverbindung', groups: ['profile_preflight'])]
|
|
class BankAccount
|
|
{
|
|
#[ORM\Column(nullable: true)]
|
|
#[Assert\NotBlank(message: 'Bitte gib die IBAN an', groups: ['profile'])]
|
|
#[Assert\Iban(message: 'Bitte gib eine gültige IBAN an', groups: ['profile'])]
|
|
private ?string $iban = null;
|
|
|
|
#[ORM\Column(nullable: true)]
|
|
#[Assert\NotBlank(message: 'Bitte gib den BIC an', groups: ['profile'])]
|
|
private ?string $bic = null;
|
|
|
|
#[ORM\Column(nullable: true)]
|
|
#[Assert\NotBlank(message: 'Bitte gib den Namen deiner Bank an', groups: ['profile'])]
|
|
private ?string $bank = null;
|
|
|
|
#[ORM\Column(nullable: true)]
|
|
#[Assert\NotBlank(message: 'Bitte gib den Kontoinhaber an', groups: ['profile'])]
|
|
private ?string $holder = null;
|
|
|
|
public function getIban(bool $obfuscated = false): ?string
|
|
{
|
|
if (false === $obfuscated) {
|
|
return $this->iban;
|
|
}
|
|
|
|
if (null === $iban = $this->getIban()) {
|
|
return '';
|
|
}
|
|
|
|
return sprintf('%s*****%s', substr($iban, 0, 6), substr($iban, -4));
|
|
}
|
|
|
|
public function setIban(?string $iban): static
|
|
{
|
|
$this->iban = $iban;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function getBic(): ?string
|
|
{
|
|
return $this->bic;
|
|
}
|
|
|
|
public function setBic(?string $bic): static
|
|
{
|
|
$this->bic = $bic;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function getBank(): ?string
|
|
{
|
|
return $this->bank;
|
|
}
|
|
|
|
public function setBank(?string $bank): static
|
|
{
|
|
$this->bank = $bank;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function getHolder(): ?string
|
|
{
|
|
return $this->holder;
|
|
}
|
|
|
|
public function setHolder(?string $holder): static
|
|
{
|
|
$this->holder = $holder;
|
|
|
|
return $this;
|
|
}
|
|
}
|