public function actionSave($id = null)
 {
     if (!empty($id)) {
         $vendor = Vendor::findOne($id);
     } else {
         $vendor = new Vendor();
     }
     $vendor_image = new VendorImage();
     if (Yii::$app->getRequest()->isPost) {
         $vendor->load(Yii::$app->request->post());
         $vendor_image->imageFile = UploadedFile::getInstance($vendor_image, 'imageFile');
         if ($vendor->validate() && $vendor_image->validate()) {
             if ($vendor_image->notEmpty()) {
                 try {
                     $vendor_image->Upload();
                     $vendor->image_name = $vendor_image->getImageName();
                 } catch (Exception $ex) {
                     $vendor->addError('image_file', Yii::t('shop', 'Failed to save image'));
                 }
             }
             $vendor->save();
             Yii::$app->getSession()->setFlash('success', Yii::t('shop', 'All changes have been saved'));
             return $this->redirect(Url::toRoute('/shop/vendor'));
         } else {
             Yii::$app->getSession()->setFlash('danger', Yii::t('shop', 'Failed to save changes'));
         }
     }
     return $this->render('save', ['vendor' => $vendor, 'vendor_image' => $vendor_image]);
 }