From facab02c29f1e26707f1f78af09af229ccb06a32 Mon Sep 17 00:00:00 2001 From: lemuel Date: Sun, 12 Jun 2022 16:07:40 -0500 Subject: [PATCH] correcion regreso, entrega, cancelado usuario y operador --- src/prestamo/prestamo.service.ts | 50 ++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/src/prestamo/prestamo.service.ts b/src/prestamo/prestamo.service.ts index 021915d..29ba9c3 100644 --- a/src/prestamo/prestamo.service.ts +++ b/src/prestamo/prestamo.service.ts @@ -48,6 +48,16 @@ export class PrestamoService { const operadorRegreso = await this.operadorService.findById(id_operador); const prestamo = await this.findById(id_prestamo); + if (prestamo.cancelado_usuario) + throw new ConflictException( + 'Este préstamo ya fue cancelado por el usuario.', + ); + if (prestamo.cancelado_operador) + throw new ConflictException( + 'Este préstamo ya fue cancelado por un operador.', + ); + if (!prestamo.activo) + throw new ConflictException('Este préstamo ya no se encuentra activo.'); prestamo.activo = false; prestamo.fecha_entrega = ahora.toDate(); prestamo.cancelado_operador = true; @@ -63,6 +73,20 @@ export class PrestamoService { const ahora = moment(); const prestamo = await this.findById(id_prestamo); + if (prestamo.cancelado_usuario) + throw new ConflictException( + 'Este préstamo ya fue cancelado por el usuario.', + ); + if (prestamo.cancelado_operador) + throw new ConflictException( + 'Este préstamo ya fue cancelado por un operador.', + ); + if (!prestamo.activo) + throw new ConflictException('Este préstamo ya no se encuentra activo.'); + if (prestamo.equipo.status.id_status === 3) + throw new ConflictException( + 'No se puede cancelar el préstamo una vez se te entregó el equipo.', + ); prestamo.activo = false; prestamo.fecha_entrega = ahora.toDate(); prestamo.cancelado_usuario = true; @@ -142,6 +166,20 @@ export class PrestamoService { const operadorEntrega = await this.operadorService.findById(id_operador); const prestamo = await this.findById(id_prestamo); + if (prestamo.cancelado_usuario) + throw new ConflictException( + 'Este préstamo ya fue cancelado por el usuario.', + ); + if (prestamo.cancelado_operador) + throw new ConflictException( + 'Este préstamo ya fue cancelado por un operador.', + ); + if (!prestamo.activo) + throw new ConflictException('Este préstamo ya no se encuentra activo.'); + if (prestamo.equipo.status.id_status === 3) + throw new ConflictException( + 'Ya se entregó el equipo de cómputo al usuario.', + ); prestamo.hora_inicio = ahora.toDate(); prestamo.hora_fin = ahora .add(operadorEntrega.institucion.tiempo_prestamo, 'm') @@ -162,6 +200,18 @@ export class PrestamoService { const operadorRegreso = await this.operadorService.findById(id_operador); const prestamo = await this.findById(id_prestamo); + if (prestamo.cancelado_usuario) + throw new ConflictException( + 'Este préstamo ya fue cancelado por el usuario.', + ); + if (prestamo.cancelado_operador) + throw new ConflictException( + 'Este préstamo ya fue cancelado por un operador.', + ); + if (!prestamo.activo) + throw new ConflictException('Este préstamo ya no se encuentra activo.'); + if (prestamo.equipo.status.id_status === 2) + throw new ConflictException('Aun no se entrega el equipo al usuario.'); prestamo.activo = false; prestamo.fecha_entrega = ahora.toDate(); prestamo.operadorRegreso = operadorRegreso;