/** * Update recipe. * * @param Recipe $recipe * @param $recipeData * @return Recipe */ public function updateRecipe(Recipe $recipe, $recipeData) { // if(!isset($recipeData['title']) || count($recipeData['title']) < self::MIN_TITLE_LENGTH ){ // throw new \Exception("The recipe must have a title!Are you miss something ?"); // } if (isset($recipeData['title'])) { $recipe->setTitle($recipeData['title']); } if (isset($recipeData['steps'])) { $this->clearRecipeSteps($recipe); $this->addStepsToRecipe($recipe, $recipeData['steps']); } if (isset($recipeData['ingredients'])) { $recipe->getIngredients()->clear(); $this->recipeManager->saveChanges(); $this->addIngredientsToRecipe($recipe, $recipeData['ingredients']); } $this->recipeManager->saveChanges(); return $recipe; }