<?php

namespace Lc\CaracoleBundle\Model\Order;

use Doctrine\ORM\Mapping as ORM;
use Lc\SovBundle\Doctrine\EntityInterface;


/**
 * @ORM\MappedSuperclass()
 */
abstract class OrderProductRefundModel implements EntityInterface, OrderProductRefundInterface
{
    /**
     * @ORM\Column(type="float")
     */
    protected $quantityRefund;

    /**
     * @ORM\Column(type="string", length=255, nullable=true)
     */
    protected $title;

    /**
     * @ORM\Column(type="float")
     */
    protected $price;

    /**
     * @ORM\OneToOne(targetEntity="Lc\CaracoleBundle\Model\Order\OrderProductInterface")
     * @ORM\JoinColumn(nullable=false)
     */
    protected $orderProduct;

    public function getQuantityRefund(): ?float
    {
        return $this->quantityRefund;
    }

    public function setQuantityOrder(float $quantityRefund): self
    {
        $this->quantityRefund = $quantityRefund;

        return $this;
    }

    public function getPrice(): ?float
    {
        return $this->getPrice();
    }

    public function setPrice(?float $price): self
    {
        $this->price = $price;

        return $this;
    }

    public function getTitleInherited(): ?string
    {
        return $this->title;
    }

    public function getTitle(): ?string
    {
        return $this->title;
    }

    public function setTitle(string $title): self
    {
        $this->title = $title;

        return $this;
    }

    public function getOrderProduct(): ?OrderProductInterface
    {
        return $this->orderProduct;
    }

    public function setOrderProduct(OrderProductInterface $orderProduct): self
    {
        $this->orderProduct = $orderProduct;

        return $this;
    }
}