<?php

namespace Shop\Presentation\DTO;

/**
 * DTO для позиции корзины
 *
 * @author Admin
 */
class BasketItem
{

    protected $id;
    protected $price;
    protected $amount;
    protected $name;
    protected $article;
    protected $brand;
    protected $desc;
    protected $ref;
    /**
     * @var int
     */
    protected $priceListId;
    protected $shop;
    protected $menagerComment;

    /**
     * @var string|null
     */
    protected $destination;

    const STATE_CORRECT = "correct";
    const STATE_UP_PRICE = "up_price";
    const STATE_DOWN_PRICE = "down_price";
    const STATE_OUT_STOCK = "out_stock";

    /**
     * @var string
     */
    protected $state = "";

    /**
     * @return int
     */
    public function getPriceListId(): int
    {
        return $this->priceListId;
    }

    /**
     * @param int $priceListId
     * @return BasketItem
     */
    public function setPriceListId(int $priceListId): BasketItem
    {
        $this->priceListId = $priceListId;
        return $this;
    }




    /**
     * @return string|null
     */
    public function getDestination(): ?string
    {
        return $this->destination;
    }

    /**
     * @param string|null $destination
     * @return BasketItem
     */
    public function setDestination(?string $destination): BasketItem
    {
        $this->destination = $destination;
        return $this;
    }


    /**
     * @return string
     */
    public function getState(): string
    {
        return $this->state;
    }

    /**
     * @param string $sate
     * @return BasketItem
     */
    public function setState(string $state): BasketItem
    {
        $this->state = $state;
        return $this;
    }


    function getMenagerComment()
    {
        return $this->menagerComment;
    }

    function setMenagerComment($menagerComment)
    {
        $this->menagerComment = $menagerComment;
        return $this;
    }


    function getShop()
    {
        return $this->shop;
    }

    function setShop($shop)
    {
        $this->shop = $shop;
        return $this;
    }

    function getBrand()
    {
        return $this->brand;
    }

    function setBrand($brand)
    {
        $this->brand = $brand;
        return $this;
    }

    function getId()
    {
        return $this->id;
    }

    function setId($id)
    {
        $this->id = $id;
        return $this;
    }

    function getName()
    {
        return $this->name;
    }

    function getDesc()
    {
        return $this->desc;
    }

    function getRef()
    {
        return $this->ref;
    }

    function setName($name)
    {
        $this->name = $name;
        return $this;
    }

    function setDesc($desc)
    {
        $this->desc = $desc;
        return $this;
    }

    function setRef($ref)
    {
        $this->ref = $ref;
        return $this;
    }

    function getArticle()
    {
        return $this->article;
    }

    function getPrice()
    {
        return $this->price;
    }

    function getAmount()
    {
        return $this->amount;
    }

    function setArticle($article)
    {
        $this->article = $article;
        return $this;
    }

    function setPrice($price)
    {
        $this->price = $price;
        return $this;
    }

    function setAmount($amount)
    {
        $this->amount = $amount;
        return $this;
    }


}