Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
0
respuestas

[Sugerencia] Sobre el metodo reserva

Ese metodo siempre me arrojaba el error, que no habia medico disponible. Despues de ver el codigo encontre que estaba mal un 'if:

public DatosDetalleConsulta reservar(DatosReservaConsulta datos) {
    if (!pacienteRepository.existsById(datos.idPaciente())) {
        throw new ValidacionException("No existe un paciente con el id informado");
    }
    if (datos.idMedico() != null && !medicoRepository.existsById(datos.idMedico())) {
        throw new ValidacionException("No existe un medico con el id informado");
    }

    validadores.forEach(v -> v.validar(datos));

    var medico = elegirMedico(datos);
    if (medico == null) {  // Aqui esta != oseo no es igual a null, por eso arrojaba siempre el error.
        throw new ValidacionException("No existe un medico disponible en ese horario");
    }
    
    var paciente = pacienteRepository.findById(datos.idPaciente()).get();
    var consulta = new Consulta(null, medico, paciente, datos.fecha(), null);
    consultaRepository.save(consulta);
    return new DatosDetalleConsulta(consulta);
}