resultFactory = $resultFactory; $this->resultPageFactory = $resultPageFactory; $this->_coreRegistry = $registry; $this->_objectManager = ObjectManager::getInstance(); parent::__construct($context); } // This function will check if method request is POST then call block controller to update data // If method request is GET then get current data and render into form update public function execute() { $blockInstance = $this->_objectManager->get("IpSupply\CustomBanner\Block\CustomBanner"); $postData = $this->getRequest()->getPostValue(); $idBanner = $this->getRequest()->getParam("id"); if ($postData) { $files = $this->getRequest()->getFiles(); $response = $blockInstance->updateBanner($idBanner, $postData, $files); // Value of $response is True or False if ($response == True) { $this->messageManager->addSuccessMessage(__("Record Update Successfully.")); } else { $this->messageManager->addErrorMessage(__("We can't update record, Please try again.")); } $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT); $resultRedirect->setPath('*/*/edit/id/'.$idBanner); return $resultRedirect; } if ($idBanner) { $banner = $blockInstance->getBannerByID($idBanner); // If banner does not exist return index page if ($banner == null) { $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT); $resultRedirect->setPath('*/*/'); return $resultRedirect; } $id = $banner["id"]; $title = $banner["title"]; $image_url = $banner["image_url"]; $description = $banner["description"]; $url_redirect = $banner["url_redirect"]; $status = $banner["status"]; $resultPage = $this->resultPageFactory->create(); $resultPage->setActiveMenu("IpSupply_CustomBanner::banner"); $resultPage->getConfig()->getTitle()->prepend(__("Update Banner")); $block = $resultPage->getLayout()->getBlock("custombanner.edit"); $block->setData("bannerID", $id) ->setData("bannerTitle", $title) ->setData("bannerImage", $image_url) ->setData("bannerDescription", $description) ->setData("bannerUrlRedirect", $url_redirect) ->setData("bannerStatus", $status); return $resultPage; } $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT); $resultRedirect->setPath('*/*/'); return $resultRedirect; } }