<?php
/**
 * Copyright ©  All rights reserved.
 * See COPYING.txt for license details.
 */
declare(strict_types=1);

namespace Leadlion\AutogedalWarehouses\Model\Product\Attribute\Source;
use Leadlion\AutogedalWarehouses\Model\ResourceModel\Warehouse\CollectionFactory as WarehouseCollectionFactory;

class AutogedalWarehouse extends \Magento\Eav\Model\Entity\Attribute\Source\AbstractSource
{
    protected $warehouseCollectionFactory;

    public function __construct(
        WarehouseCollectionFactory $warehouseCollectionFactory
    ) {
        $this->warehouseCollectionFactory = $warehouseCollectionFactory;
    }

    /**
     * getAllOptions
     *
     * @return array
     */
    public function getAllOptions()
    {
        $collection = $this->warehouseCollectionFactory->create();
        $options[] = ['label' => 'Select Warehouse', 'value' => ''];
        foreach ($collection as $key => $val) {
            $options[] = ['value' => $key, 'label' => $val->getName()];
        }
        return $options;
    }
}

