<?php namespace Lc\ShopBundle\Model; use Doctrine\ORM\Mapping as ORM; use Lc\ShopBundle\Context\OrderPaymentInterface; use Lc\ShopBundle\Context\ReductionInterface; /** * @ORM\MappedSuperclass() */ abstract class OrderPayment extends AbstractEntity { const TYPE_CREDIT_CARD = 'cb' ; const TYPE_CHEQUE = 'cheque' ; const TYPE_CREDIT = 'credit' ; /** * @ORM\ManyToOne(targetEntity="Lc\ShopBundle\Context\OrderShopInterface", inversedBy="orderPayments") * @ORM\JoinColumn(nullable=false) */ protected $orderShop; /** * @ORM\Column(type="string", length=255) */ protected $type; /** * @ORM\Column(type="text", nullable=true) */ protected $reference; /** * @ORM\Column(type="datetime") */ protected $paidAt; /** * @ORM\Column(type="float") */ protected $amount; /** * @ORM\Column(type="text", nullable=true) */ protected $comment; public function __toString() { return $this->amount. '€ par '.$this->type.' le '.$this->getPaidAt()->format('d-m-Y'); } public function getOrderShop(): ?OrderShop { return $this->orderShop; } public function setOrderShop(?OrderShop $orderShop): self { $this->orderShop = $orderShop; return $this; } public function setType(string $type): self { $this->type = $type; return $this; } public function getReference(): ?string { return $this->reference; } public function setReference(?string $reference): self { $this->reference = $reference; return $this; } public function getPaidAt(): ?\DateTimeInterface { return $this->paidAt; } public function setPaidAt(\DateTimeInterface $paidAt): self { $this->paidAt = $paidAt; return $this; } public function getAmount(): ?float { return $this->amount; } public function setAmount(float $amount): self { $this->amount = $amount; return $this; } public function getComment(): ?string { return $this->comment; } public function setComment(?string $comment): self { $this->comment = $comment; return $this; } }