getParsedBody(); $output = [ 'venta_id' => $venta_id, 'input' => $input, 'bono' => null, 'success' => false ]; try { $venta = $ventaRepository->fetchById($venta_id); $input['venta_id'] = $venta->id; $uf = $ufService->get(new DateTimeImmutable($input['fecha'])); $input['valor'] = $input['valor'] * $uf; $input['valor'] = $valorService->clean($input['valor']); $input['uf'] = $uf; $bono = $bonoPieService->add($input); $ventaRepository->edit($venta, ['bono_pie' => $bono->id]); $output['bono'] = $bono; $output['success'] = true; } catch (EmptyResult) {} return $this->withJson($response, $output); } public function edit(ServerRequestInterface $request, ResponseInterface $response, Service\Venta $ventaService, Service\Venta\BonoPie $bonoPieService, int $venta_id): ResponseInterface { $input = $request->getParsedBody(); $output = [ 'venta_id' => $venta_id, 'input' => $input, 'bono' => null, 'success' => false, ]; try { try { $venta = $ventaService->getById($venta_id); } catch (EmptyResult $exception) { throw new Update(__CLASS__, $exception); } $output['bono'] = $bonoPieService->edit($venta->formaPago()->bonoPie, $input); $output['success'] = true; } catch (Update) {} return $this->withJson($response, $output); } }