<?php
/**
 * @author  Magediary
 * @package Magediary_ProductQuestion
 */

namespace Magediary\ProductQuestion\Controller\Adminhtml\Answer;

use Magediary\ProductQuestion\Controller\Adminhtml\Answer;
use Magento\Backend\Model\View\Result\Redirect;
use Magento\Framework\Exception\LocalizedException;

class MassStatus extends Answer
{
    public const ADMIN_RESOURCE = 'Magediary_ProductQuestion::question_answer_save';

    /**
     * Execute action
     *
     * @return Redirect
     * @throws LocalizedException|\Exception
     */
    public function execute()
    {
        $collection = $this->_massActionFilter->getCollection($this->_collectionFactory->create());
        $collectionSize = $collection->getSize();
        $status = (int) $this->getRequest()->getParam('status');

        foreach ($collection as $model) {
            $model->setStatus($status);
            $model->save();
        }

        $this->messageManager->addSuccessMessage(__('A total of %1 record(s) were updated.', $collectionSize));

        /** @var Redirect $resultRedirect */
        $resultRedirect = $this->resultRedirectFactory->create();
        return $resultRedirect->setPath('*/*/');
    }
}
