<?phpnamespace App\Entity\FattureInCloud;use App\API\FattureInCloud\Response\DocumentoPagamentoResponse;use Doctrine\ORM\Mapping as ORM;/** * @ORM\Entity() */class DocumentoPagamento{ /** * Not mapped to API, needed by Doctrine * @var integer; * * @ORM\Id() * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") */ private $id; /** * Data di scadenza del pagamento * * @var \DateTime * * @ORM\Column(type="date") */ private $data_scadenza; /** * Importo del pagamento * * @var double * * @ORM\Column(type="float") */ private $importo; /** * Conto di saldo = ['not' o 'rev' o il nome del conto] ('not' indica che non è stato saldato, 'rev' che è stato stornato) * * @var string * * @ORM\Column(type="string") */ private $metodo; /** * Data del saldo dell'importo indicato (se avvenuto) * * @var \DateTime|null * * @ORM\Column(type="date", nullable=true) */ private $data_saldo; public function __construct(DocumentoPagamentoResponse $pagamento) { $this->setDataScadenza($pagamento->getDataScadenza()); $this->setImporto($pagamento->getImporto()); $this->setMetodo($pagamento->getMetodo()); $this->setDataSaldo($pagamento->getDataSaldo()); } /** * @var DocumentoDettagliato * * @ORM\ManyToOne(targetEntity="DocumentoDettagliato", inversedBy="lista_pagamenti") */ private $documento; /** * @return \DateTime */ public function getDataScadenza(): \DateTime { return $this->data_scadenza; } /** * @param \DateTime $data_scadenza * @return DocumentoPagamento */ public function setDataScadenza(\DateTime $data_scadenza): DocumentoPagamento { $this->data_scadenza = $data_scadenza; return $this; } /** * @return float */ public function getImporto(): float { return $this->importo; } /** * @param float $importo * @return DocumentoPagamento */ public function setImporto(float $importo): DocumentoPagamento { $this->importo = $importo; return $this; } /** * @return string */ public function getMetodo(): string { return $this->metodo; } /** * @param string $metodo * @return DocumentoPagamento */ public function setMetodo(string $metodo): DocumentoPagamento { $this->metodo = $metodo; return $this; } /** * @return \DateTime|null */ public function getDataSaldo(): ?\DateTime { return $this->data_saldo; } /** * @param \DateTime|null $data_saldo * @return DocumentoPagamento */ public function setDataSaldo(?\DateTime $data_saldo): DocumentoPagamento { $this->data_saldo = $data_saldo; return $this; } /** * @return string */ public function getId(): string { return $this->id; } /** * @return DocumentoDettagliato */ public function getDocumento(): DocumentoDettagliato { return $this->documento; } /** * @param DocumentoDettagliato $documento * @return DocumentoPagamento */ public function setDocumento(DocumentoDettagliato $documento): DocumentoPagamento { $this->documento = $documento; return $this; }}