pendientes(); return $view->render($response, 'ventas.cuotas.pendientes', compact('cuotas_pendientes')); } public function depositadas(ServerRequestInterface $request, ResponseInterface $response, View $view, Service\Venta\Cuota $cuotaService): ResponseInterface { $cuotas_depositadas = $cuotaService->depositadas(); return $view->render($response, 'ventas.cuotas.abonar', compact('cuotas_depositadas')); } public function depositar(ServerRequestInterface $request, ResponseInterface $response, Repository\Venta\Cuota $cuotaRepository, Service\Venta\Pago $pagoService): ResponseInterface { $body = $request->getBody(); $json = json_decode($body->getContents()); $cuota_id = $json->cuota_id; $fecha = new DateTimeImmutable($json->fecha); $output = [ 'cuota_id' => $cuota_id, 'depositada' => false ]; try{ $cuota = $cuotaRepository->fetchById($cuota_id); $output['depositada'] = $pagoService->depositar($cuota->pago, $fecha); } catch (EmptyResult) {} $response->getBody()->write(json_encode($output)); return $response->withHeader('Content-Type', 'application/json'); } public function abonar(ServerRequestInterface $request, ResponseInterface $response, Repository\Venta\Cuota $cuotaRepository, Service\Venta\Pago $pagoService): ResponseInterface { $body = $request->getBody(); $json = json_decode($body->getContents()); $cuota_id = $json->cuota_id; $fecha = new DateTimeImmutable($json->fecha); $output = [ 'cuota_id' => $cuota_id, 'abonada' => false ]; try{ $cuota = $cuotaRepository->fetchById($cuota_id); $output['abonada'] = $pagoService->abonar($cuota->pago, $fecha); } catch (EmptyResult) {} $response->getBody()->write(json_encode($output)); return $response->withHeader('Content-Type', 'application/json'); } public function devolver(ServerRequestInterface $request, ResponseInterface $response, Repository\Venta\Cuota $cuotaRepository, Service\Venta\Pago $pagoService): ResponseInterface { $body = $request->getBody(); $json = json_decode($body->getContents()); $cuota_id = $json->cuota_id; $fecha = new DateTimeImmutable($json->fecha); $output = [ 'cuota_id' => $cuota_id, 'devuelta' => false ]; try{ $cuota = $cuotaRepository->fetchById($cuota_id); $output['devuelta'] = $pagoService->devolver($cuota->pago, $fecha); } catch (EmptyResult) {} $response->getBody()->write(json_encode($output)); return $response->withHeader('Content-Type', 'application/json'); } }