<?php

namespace Myvetshop\Module\Clinique\Generated\Jane\Model;

class OrdersGetResponse200ItemProductsItem extends \ArrayObject
{
    /**
     * @var array
     */
    protected $initialized = [];

    public function isInitialized($property): bool
    {
        return array_key_exists($property, $this->initialized);
    }
    /**
     * @var int
     */
    protected $id;
    /**
     * @var string
     */
    protected $supplierCode;
    /**
     * @var string
     */
    protected $name;
    /**
     * @var string
     */
    protected $format;
    /**
     * @var int|null
     */
    protected $categoryId;
    /**
     * @var int|null
     */
    protected $manufacturerId;
    /**
     * @var int
     */
    protected $quantity;
    /**
     * Unit purchase price of the product (taxes excluded)
     *
     * @var string
     */
    protected $purchasePrice;
    /**
     * Total price of the product considering the quantity (taxes excluded)
     *
     * @var string
     */
    protected $totalPriceTaxExcl;
    /**
     * Total price of the product considering the quantity (taxes included)
     *
     * @var string
     */
    protected $totalPriceTaxIncl;

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

    /**
     * @param int $id
     *
     * @return self
     */
    public function setId(int $id): self
    {
        $this->initialized['id'] = true;
        $this->id = $id;

        return $this;
    }

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

    /**
     * @param string $supplierCode
     *
     * @return self
     */
    public function setSupplierCode(string $supplierCode): self
    {
        $this->initialized['supplierCode'] = true;
        $this->supplierCode = $supplierCode;

        return $this;
    }

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

    /**
     * @param string $name
     *
     * @return self
     */
    public function setName(string $name): self
    {
        $this->initialized['name'] = true;
        $this->name = $name;

        return $this;
    }

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

    /**
     * @param string $format
     *
     * @return self
     */
    public function setFormat(string $format): self
    {
        $this->initialized['format'] = true;
        $this->format = $format;

        return $this;
    }

    /**
     * @return int|null
     */
    public function getCategoryId(): ?int
    {
        return $this->categoryId;
    }

    /**
     * @param int|null $categoryId
     *
     * @return self
     */
    public function setCategoryId(?int $categoryId): self
    {
        $this->initialized['categoryId'] = true;
        $this->categoryId = $categoryId;

        return $this;
    }

    /**
     * @return int|null
     */
    public function getManufacturerId(): ?int
    {
        return $this->manufacturerId;
    }

    /**
     * @param int|null $manufacturerId
     *
     * @return self
     */
    public function setManufacturerId(?int $manufacturerId): self
    {
        $this->initialized['manufacturerId'] = true;
        $this->manufacturerId = $manufacturerId;

        return $this;
    }

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

    /**
     * @param int $quantity
     *
     * @return self
     */
    public function setQuantity(int $quantity): self
    {
        $this->initialized['quantity'] = true;
        $this->quantity = $quantity;

        return $this;
    }

    /**
     * Unit purchase price of the product (taxes excluded)
     *
     * @return string
     */
    public function getPurchasePrice(): string
    {
        return $this->purchasePrice;
    }

    /**
     * Unit purchase price of the product (taxes excluded)
     *
     * @param string $purchasePrice
     *
     * @return self
     */
    public function setPurchasePrice(string $purchasePrice): self
    {
        $this->initialized['purchasePrice'] = true;
        $this->purchasePrice = $purchasePrice;

        return $this;
    }

    /**
     * Total price of the product considering the quantity (taxes excluded)
     *
     * @return string
     */
    public function getTotalPriceTaxExcl(): string
    {
        return $this->totalPriceTaxExcl;
    }

    /**
     * Total price of the product considering the quantity (taxes excluded)
     *
     * @param string $totalPriceTaxExcl
     *
     * @return self
     */
    public function setTotalPriceTaxExcl(string $totalPriceTaxExcl): self
    {
        $this->initialized['totalPriceTaxExcl'] = true;
        $this->totalPriceTaxExcl = $totalPriceTaxExcl;

        return $this;
    }

    /**
     * Total price of the product considering the quantity (taxes included)
     *
     * @return string
     */
    public function getTotalPriceTaxIncl(): string
    {
        return $this->totalPriceTaxIncl;
    }

    /**
     * Total price of the product considering the quantity (taxes included)
     *
     * @param string $totalPriceTaxIncl
     *
     * @return self
     */
    public function setTotalPriceTaxIncl(string $totalPriceTaxIncl): self
    {
        $this->initialized['totalPriceTaxIncl'] = true;
        $this->totalPriceTaxIncl = $totalPriceTaxIncl;

        return $this;
    }
}
