public function edit(array $data, $idGallery, $oldLang)
 {
     if ($data['translate'] != null) {
         $data['idGallery'] = $data['translate'];
     }
     $lang = $data['language'];
     $data['lang'] = $lang;
     unset($data['language']);
     unset($data['translate']);
     $images = $data['images'];
     unset($data['images']);
     try {
         $result = parent::update($data, ['idGallery' => $idGallery, 'lang' => $oldLang]);
     } catch (UniqueConstraintViolationException $ex) {
         throw new EntityExistsException('Galerie již existuje');
     }
     if ($idGallery != $data['idGallery'] || $oldLang != $data['lang']) {
         $this->onChangePrimary($idGallery, $data['idGallery'], $oldLang, $data['lang']);
     }
     if (!empty($images)) {
         $this->onGallerySave($data['idGallery'], $data['lang'], $images);
     }
     return $result;
 }
 public function edit(array $data, $idArticle, $lang)
 {
     if ($data['image']->name != null) {
         $article = $this->find($idArticle, $lang);
         $this->imageMapper->delete($article->image);
         $name = $this->imageName($data['image']);
         $this->insertImage($data['image'], $name);
         $data['image'] = $name;
     } else {
         unset($data['image']);
     }
     if ($data['language'] != null) {
         $data['lang'] = $data['language'];
         unset($data['language']);
     }
     if ($data['translate'] != null) {
         $data['idArticle'] = $data['translate'];
     }
     unset($data['translate']);
     try {
         $result = parent::update($data, ['idArticle' => $idArticle, 'lang' => $lang]);
     } catch (UniqueConstraintViolationException $ex) {
         if ($ex->getCode() == 23000) {
             throw new EntityExistsException('Článek s tímto nadpisem už existuje');
         }
     }
 }
 /**
  * @param array $data
  * @param array $by
  * @return bool
  */
 public function update(array $data, array $by = [])
 {
     if ($data['image']->name != null) {
         $offer = $this->find($by['idOffer'], $by['lang']);
         $this->imageMapper->delete(offerImagesPath . $offer->image);
         $name = $this->imageName($data['image']);
         $this->insertImage($data['image'], $name);
         $data['image'] = $name;
     } else {
         unset($data['image']);
     }
     if ($data['translate'] != null) {
         $data['idOffer'] = $data['translate'];
     }
     unset($data['translate']);
     try {
         return parent::update($data, $by);
     } catch (UniqueConstraintViolationException $ex) {
         if ($ex->getCode() == 23000) {
             throw new EntityExistsException('Nabídka s tímto nadpisem už existuje');
         }
         l($ex->getMessage());
     }
 }