<?php

namespace Lc\ShopBundle\Model;

use Doctrine\ORM\Mapping as ORM;
use Lc\ShopBundle\Context\OrderPaymentInterface;
use Lc\ShopBundle\Context\ReductionInterface;

/**
 * @ORM\MappedSuperclass()
 */
trait OrderPayoffTrait
{

        use PayoffTrait;

        /**
         * @ORM\ManyToOne(targetEntity="Lc\ShopBundle\Context\OrderShopInterface", inversedBy="orderPayments")
         * @ORM\JoinColumn(nullable=false)
         */
        protected $orderShop;

        /**
         * @ORM\Column(type="boolean")
         */
        protected $editable;

        public function __toString()
        {
                return $this->amount. ' le '.$this->getPaidAt()->format('d-m-y').' par '.$this->getMeanPayment();
        }

        public function getOrderShop(): ?OrderShop
        {
                return $this->orderShop;
        }

        public function setOrderShop(?OrderShop $orderShop): self
        {
                $this->orderShop = $orderShop;

                return $this;
        }

        public function setEditable(bool $editable): self
        {
                $this->editable = $editable;

                return $this;
        }

        public function getEditable(): ?bool
        {
                return $this->editable;
        }

        public function isEditable(): ?bool
        {
                return $this->editable;
        }
}