<?php
namespace App\Entity;
use App\Entity\Base\AbstractTimestampableEntity;
use App\Repository\PaymentRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=PaymentRepository::class)
* @ORM\HasLifecycleCallbacks()
*/
class Payment extends AbstractTimestampableEntity
{
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $seria;
/**
* @ORM\Column(type="integer",nullable=true)
*/
private $nr;
/**
* @ORM\Column(type="date")
*/
private $date;
/**
* @ORM\Column(type="decimal", precision=21, scale=2)
*/
private $value;
/**
* @ORM\ManyToOne(targetEntity=PaymentType::class, inversedBy="payments")
* @ORM\JoinColumn(nullable=false)
*/
private $paymenyType;
/**
* @ORM\ManyToOne(targetEntity=FacturiHeader::class, inversedBy="payments")
* @ORM\JoinColumn(nullable=false)
*/
private $facturiHeader;
/**
* @ORM\OneToOne(targetEntity=CashIn::class, mappedBy="payment", cascade={"persist", "remove"})
*/
private $cashIn;
public function __construct()
{
$this->facturiHeader = new ArrayCollection();
}
public function getSeria(): ?string
{
return $this->seria;
}
public function setSeria(?string $seria): self
{
$this->seria = $seria;
return $this;
}
public function getNr(): ?int
{
return $this->nr;
}
public function setNr(?int $nr): self
{
$this->nr = $nr;
return $this;
}
public function getDate(): ?\DateTimeInterface
{
return $this->date;
}
public function setDate(\DateTimeInterface $date): self
{
$this->date = $date;
return $this;
}
public function getValue(): ?string
{
return $this->value;
}
public function setValue(string $value): self
{
$this->value = $value;
return $this;
}
public function getPaymenyType(): ?PaymentType
{
return $this->paymenyType;
}
public function setPaymenyType(?PaymentType $paymenyType): self
{
$this->paymenyType = $paymenyType;
return $this;
}
public function getFacturiHeader(): ?FacturiHeader
{
return $this->facturiHeader;
}
public function setFacturiHeader(?FacturiHeader $facturiHeader): self
{
$this->facturiHeader = $facturiHeader;
return $this;
}
public function getCashIn(): ?CashIn
{
return $this->cashIn;
}
public function setCashIn(?CashIn $cashIn): self
{
// unset the owning side of the relation if necessary
if ($cashIn === null && $this->cashIn !== null) {
$this->cashIn->setPayment(null);
}
// set the owning side of the relation if necessary
if ($cashIn !== null && $cashIn->getPayment() !== $this) {
$cashIn->setPayment($this);
}
$this->cashIn = $cashIn;
return $this;
}
}