<?php

namespace Lc\ShopBundle\Model;

use Doctrine\ORM\Mapping as ORM;


/**
 * @ORM\MappedSuperclass()
 */
abstract class OrderProductRefund
{
        /**
         * @ORM\Column(type="integer")
         */
        protected $quantityRefund;

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

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

        /**
         * @ORM\OneToOne(targetEntity="Lc\ShopBundle\Context\OrderProductInterface", inversedBy="orderProductRefund", cascade={"persist", "remove"})
         * @ORM\JoinColumn(nullable=false)
         */
        protected $orderProduct;

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

        public function setQuantityOrder(int $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(): ?OrderProduct
        {
                return $this->orderProduct;
        }

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

                return $this;
        }
}