<?php

namespace KupShop\WarehouseBundle\Event;

use KupShop\WarehouseBundle\Entity\StoreItem;
use Symfony\Contracts\EventDispatcher\Event;

class WarehouseProductEvent extends Event
{
    protected $storeInItemRow;
    protected $storeItem;

    // Naskladnění produktů po potvrzení vstupní kontroly
    public const IN_STORE_PRODUCT = 'kupshop.warehouse.in_store_product';
    protected $storeInPosition = 'PRIJEM'; // Pozice kam naskladnit produkty ve fyzickém skladu
    protected $stockInWeb = true; // Zda naskladnit i na webový sklad

    // Zobrazení počtu kusů produktu v objednávkách na čtečce
    public const PIECES_IN_ORDERS_SPEC = 'kupshop.warehouse.pieces_in_orders_spec';
    protected $piecesInOrdersSpec = [];

    public function getStoreInItemRow()
    {
        return $this->storeInItemRow;
    }

    public function setStoreInItemRow($storeInItemRow): void
    {
        $this->storeInItemRow = $storeInItemRow;
    }

    /* IN_STORE_PRODUCT */

    public function getStoreInPosition(): string
    {
        return $this->storeInPosition;
    }

    public function setStoreInPosition(string $storeInPosition): void
    {
        $this->storeInPosition = $storeInPosition;
    }

    public function isStockInWeb(): bool
    {
        return $this->stockInWeb;
    }

    public function setStockInWeb(bool $stockInWeb): void
    {
        $this->stockInWeb = $stockInWeb;
    }

    /* PIECES_IN_ORDERS_SPEC */

    public function getPiecesInOrdersSpec()
    {
        return $this->piecesInOrdersSpec;
    }

    public function setPiecesInOrdersSpec($piecesInOrdersSpec): void
    {
        $this->piecesInOrdersSpec = $piecesInOrdersSpec;
    }

    public function getStoreItem(): StoreItem
    {
        return $this->storeItem;
    }

    public function setStoreItem(StoreItem $storeItem): void
    {
        $this->storeItem = $storeItem;
    }
}
