resultPageFactory = $resultPageFactory; $this->sourceCustomerFactory = $sourceCustomerFactory; $this->sourceCustomerRepository = $sourceCustomerRepository; $this->customerSession = $customerSession; $this->request = $request; $this->messageManager = $messageManager; $this->logger = $logger; } protected function savePrefer() { $code = $this->request->getParam('code'); $customer = $this->customerSession->getCustomer(); if ($code && $customer->getId()) { try { $this->sourceCustomerRepository->save( $this->sourceCustomerFactory->create()->setCustomerId($customer->getId())->setSourceCode($code) ); } catch (LocalizedException $e) { $this->logger->critical($e->getMessage(), $e->getTrace()); } } } /** * Execute view action * * @return ResultInterface */ public function execute(): ResultInterface { $this->savePrefer(); $resultPage = $this->resultPageFactory->create(); $resultPage->getConfig()->getTitle()->set(__('My Warehouse')); return $resultPage; } }