<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity(
* repositoryClass="App\Repository\BankAccountRepository"
* )
* @ORM\Table(
* name="bank_account",
* options={"collate"="utf8_swedish_ci"}
* )
*/
class BankAccount implements EntityInterface
{
/**
* @ORM\Id
* @ORM\Column(
* type="integer"
* )
* @ORM\GeneratedValue(
* strategy="AUTO"
* )
*
* @var int|null
*/
protected ?int $id = null;
/**
* @ORM\Column(
* type="string",
* length=100
* )
* @Assert\NotBlank
*
* @var string
*/
protected string $bank;
/**
* @ORM\OneToMany(
* targetEntity="Company",
* mappedBy="bankAccount"
* )
*
* @var Collection<Company>
*/
protected $companies;
/**
* @ORM\Column(
* name="fivaldi_id",
* type="integer"
* )
* @Assert\NotNull
* @Assert\Range(
* min=0
* )
*
* @var int
*/
protected int $fivaldiId;
/**
* @ORM\Column(
* type="string",
* length=100
* )
* @Assert\NotBlank
*
* @var string
*/
protected string $name;
/**
* @ORM\Column(
* type="string",
* length=2000,
* nullable=true
* )
*
* @var string|null
*/
protected ?string $notes = null;
/**
* @ORM\Column(
* type="string",
* length=50
* )
* @Assert\NotBlank
*
* @var string
*/
protected string $number;
/**
* @ORM\Column(
* type="string",
* length=20
* )
* @Assert\NotBlank
*
* @var string
*/
protected string $swift;
/**
* @param string $name
* @param int $fivaldiId
* @param string $bank
* @param string $number
* @param string $swift
*/
public function __construct(string $name, int $fivaldiId, string $bank, string $number, string $swift)
{
$this->name = $name;
$this->fivaldiId = $fivaldiId;
$this->bank = $bank;
$this->number = $number;
$this->swift = $swift;
$this->companies = new ArrayCollection();
}
/**
* @return string
*/
public function __toString(): string
{
return $this->name;
}
/**
* @return string
*/
public function getBank(): string
{
return $this->bank;
}
/**
* @return Collection<Company>
*/
public function getCompanies(): Collection
{
return $this->companies;
}
/**
* @return int
*/
public function getFivaldiId(): int
{
return $this->fivaldiId;
}
/**
* @return int|null
*/
public function getId(): ?int
{
return $this->id;
}
/**
* @return string
*/
public function getName(): string
{
return $this->name;
}
/**
* @return null|string
*/
public function getNotes(): ?string
{
return $this->notes;
}
/**
* @return string
*/
public function getNumber(): string
{
return $this->number;
}
/**
* @return string
*/
public function getSwift(): string
{
return $this->swift;
}
/**
* @param string $bank
*/
public function setBank(string $bank)
{
$this->bank = $bank;
}
/**
* @param int $fivaldiId
*/
public function setFivaldiId(int $fivaldiId)
{
$this->fivaldiId = $fivaldiId;
}
/**
* @param string $name
*/
public function setName(string $name)
{
$this->name = $name;
}
/**
* @param string|null $notes
*/
public function setNotes(?string $notes)
{
$this->notes = $notes;
}
/**
* @param string $number
*/
public function setNumber(string $number)
{
$this->number = $number;
}
/**
* @param string $swift
*/
public function setSwift(string $swift)
{
$this->swift = $swift;
}
}