tipoEstadoPagoRepository->fetchByDescripcion('depositado'); $data = [ 'pago' => $pago->id, 'estado' => $tipo_estado->id, 'fecha' => $fecha->format('Y-m-d') ]; try { $estado = $this->estadoPagoRepository->create($data); $this->estadoPagoRepository->save($estado); return true; } catch (PDOException) { return false; } } public function abonar(Model\Venta\Pago $pago, DateTimeInterface $fecha): bool { $tipo_estado = $this->tipoEstadoPagoRepository->fetchByDescripcion('abonado'); $data = [ 'pago' => $pago->id, 'estado' => $tipo_estado->id, 'fecha' => $fecha->format('Y-m-d') ]; try { $estado = $this->estadoPagoRepository->create($data); $this->estadoPagoRepository->save($estado); return true; } catch (PDOException) { return false; } } public function devolver(Model\Venta\Pago $pago, DateTimeInterface $fecha): bool { $tipo_estado = $this->tipoEstadoPagoRepository->fetchByDescripcion('devuelto'); $data = [ 'pago' => $pago->id, 'estado' => $tipo_estado->id, 'fecha' => $fecha->format('Y-m-d') ]; try { $estado = $this->estadoPagoRepository->create($data); $this->estadoPagoRepository->save($estado); return true; } catch (PDOException) { return false; } } public function getById(int $pago_id): Model\Venta\Pago { $pago = $this->pagoRepository->fetchById($pago_id); $pago->estados = $this->estadoPagoRepository->fetchByPago($pago_id); $pago->currentEstado = $this->estadoPagoRepository->fetchCurrentByPago($pago_id); return $pago; } public function getPendientes(): array { return []; } public function getDepositados(): array { return []; } public function getRebotes(): array { return []; } }