listo institucion dia

This commit is contained in:
xXpuma99Xx 2022-10-24 11:48:35 -05:00
parent 28c1afa8f7
commit 1363c13676

View File

@ -54,11 +54,13 @@ export class InstitucionDiaService {
return this.repository.findOne({ where: { institucion, dia: { id_dia } } });
}
async hoy(id_institucion: number) {
hoy(id_institucion: number) {
const ahora = moment();
// Valido que no sea domingo
if (ahora.weekday() === 0)
throw new ConflictException('No hay servicio los días domingo.');
// Busco un institucionDia apartir de la institución enviada y del día de hoy
return this.institucionService
.findById(id_institucion)
.then((institucion) =>
@ -69,6 +71,8 @@ export class InstitucionDiaService {
update(admin: Operador, attrs: Partial<InstitucionDia>) {
return this.findById(attrs.id_institucion_dia)
.then((institucionDia) => {
// Valido que la institucionDia le pertenezca a la institución del
// operador que realiza esta acción
if (
admin.institucion.id_institucion !=
institucionDia.institucion.id_institucion
@ -76,36 +80,47 @@ export class InstitucionDiaService {
throw new ConflictException(
'No puedes actualizar la información de este día porque no le pertenece a tu institución.',
);
// Valido que hora_inicio no sea mayor a hora_fin
if (
// Si se mando hora_inicio u hora_fin
(attrs.hora_inicio || attrs.hora_fin) &&
// y si la hora_inicio que se mando, si no hay toma de institucionDia, es mayor que
(attrs.hora_inicio || institucionDia.hora_inicio) >
// la hora_fin que se mando, si no hay toma de institucionDia
(attrs.hora_fin || institucionDia.hora_fin)
)
throw new BadRequestException(
'La hora inicio no puede ser mayor que la hora fin.',
);
// Valido que hora_fin no sea mayor a hora_extra
if (
// Si se mando hora_fin u hora_extra
(attrs.hora_fin || attrs.hora_extra) &&
// y si la hora_fin que se mando, si no hay toma de institucionDia, es mayor que
(attrs.hora_fin || institucionDia.hora_fin) >
// la hora_extra que se mando, si no hay toma de institucionDia
(attrs.hora_extra || institucionDia.hora_extra)
)
throw new BadRequestException(
'La hora fin no puede ser mayor que la hora extra.',
);
// Valido que hora_extra no sea mayor a hora_tope
if (
// Si se hora_extra hora_fin u hora_tope
(attrs.hora_extra || attrs.hora_tope) &&
// y si la hora_extra que se mando, si no hay toma de institucionDia, es mayor que
(attrs.hora_extra || institucionDia.hora_extra) >
// la hora_tope que se mando, si no hay toma de institucionDia
(attrs.hora_tope || institucionDia.hora_tope)
)
throw new BadRequestException(
'La hora extra no puede ser mayor que la hora tope.',
);
// Asigno valores enviados al objeto
Object.assign(institucionDia, attrs);
// Guardo cambios
return this.repository.save(institucionDia);
})
.then((_) => ({
message: 'Se guardaron los cambios correctamente.',
}));
.then((_) => ({ message: 'Se guardaron los cambios correctamente.' }));
}
}