<?php

namespace Leadlion\AutogedalWarehouses\Controller\Adminhtml\Warehouse;

use Magento\Backend\App\Action;

class Delete extends Action
{
    protected $warehouseModel;

    public function __construct(
        Action\Context $context,
        \Leadlion\AutogedalWarehouses\Model\WarehouseFactory $warehouseModel
    ) {
        parent::__construct($context);
        $this->warehouseModel = $warehouseModel;
    }

    public function execute()
    {
        $id = $this->getRequest()->getParam('warehouse_id');
        $resultRedirect = $this->resultRedirectFactory->create();
        if ($id) {
            try {
                $model = $this->warehouseModel->create();
                $model->load($id);
                $model->delete();
                $this->messageManager->addSuccess(__('The warehouse is deleted successfully.'));
                return $resultRedirect->setPath('*/*/');
            } catch (\Exception $e) {
                $this->messageManager->addError($e->getMessage());
                return $resultRedirect->setPath('*/*/edit', ['warehouse_id' => $id]);
            }
        }
        $this->messageManager->addError(__('The warehouse does not exist'));
        return $resultRedirect->setPath('*/*/');
    }
}
