![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/app/code/Cnc/Checkout/Command/DeliveryEstimation/ |
<?php /** * Copyright (c) 2021 Kaliop Digital Commerce (https://digitalcommerce.kaliop.com) All Rights Reserved. * https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) * Cnc * Krzysztof Majkowski <[email protected]> */ namespace Cnc\Checkout\Command\DeliveryEstimation; use Cnc\Checkout\Api\Data\DeliveryEstimationInterface; use Cnc\Checkout\Model\DeliveryEstimationModel; use Cnc\Checkout\Model\DeliveryEstimationModelFactory; use Cnc\Checkout\Model\ResourceModel\DeliveryEstimationResource; use Exception; use Magento\Framework\DataObject; use Magento\Framework\Exception\CouldNotSaveException; use Psr\Log\LoggerInterface; /** * Save DeliveryEstimation Command. */ class SaveCommand { /** * @var LoggerInterface */ private $logger; /** * @var DeliveryEstimationModelFactory */ private $modelFactory; /** * @var DeliveryEstimationResource */ private $resource; /** * @param LoggerInterface $logger * @param DeliveryEstimationModelFactory $modelFactory * @param DeliveryEstimationResource $resource */ public function __construct( LoggerInterface $logger, DeliveryEstimationModelFactory $modelFactory, DeliveryEstimationResource $resource ) { $this->logger = $logger; $this->modelFactory = $modelFactory; $this->resource = $resource; } /** * Save DeliveryEstimation. * * @param DeliveryEstimationInterface|DataObject $deliveryEstimation * * @return int * @throws CouldNotSaveException */ public function execute(DeliveryEstimationInterface $deliveryEstimation): int { try { /** @var DeliveryEstimationModel $model */ $model = $this->modelFactory->create(); $model->addData($deliveryEstimation->getData()); $model->setHasDataChanges(true); if (!$model->getId()) { $model->isObjectNew(true); } $this->resource->save($model); } catch (Exception $exception) { $this->logger->error( __('Could not save DeliveryEstimation. Original message: {message}'), [ 'message' => $exception->getMessage(), 'exception' => $exception ] ); throw new CouldNotSaveException(__('Could not save DeliveryEstimation.')); } return (int)$model->getEntityId(); } }