/** * @param EditMaterialRequest $request */ public function execute(EditMaterialRequest $request) { $material = $this->materialRepository->findById($request->getMaterialId()); $category = $request->getCategory(); if (count($category->getChildren())) { $this->callWarningLimitationAssignOnlyToLeaf($category); return; } $material->compose($request->getNewName(), $request->getNewCode()); $material->setCategory($category); $material->setUnit($request->getUnit()); $this->materialRepository->update($material); }