costUnits->getById($costUnitId); $changeStatRequest = new ChangeCostUnitStateRequest($costUnit, false, false); return $this->changeCostUnitState($changeStatRequest, 'Der CostUnit wurde geschlossen.'); } public function open(int $costUnitId) : JsonResponse { $costUnit = $this->costUnits->getById($costUnitId); $changeStatRequest = new ChangeCostUnitStateRequest($costUnit, true, false); return $this->changeCostUnitState($changeStatRequest, 'Der CostUnit wurde geƶffnet.'); } public function archive(int $costUnitId) : JsonResponse { $costUnit = $this->costUnits->getById($costUnitId); $changeStatRequest = new ChangeCostUnitStateRequest($costUnit, false, true); return $this->changeCostUnitState($changeStatRequest, 'Der CostUnit wurde archiviert.'); } private function changeCostUnitState(ChangeCostUnitStateRequest $request, string $responseMessage) : JsonResponse { $changeStatCommand = new ChangeCostUnitStateCommand($request); if ($changeStatCommand->execute()) { return response()->json([ 'status' => 'success', 'message' => $responseMessage ]); }; return response()->json([ 'status' => 'error', 'message' => 'Ein Fehler ist aufgetreten.' ]); } }