public void nuevaSolicitud() { if (login.getContacto().getRol().getId() == 5) // si es visitante { solicitante = service.getContactoByLogin(login.getLoggedUser()); setSelectedDepartamento(solicitante.getDepartamentoId()); municipios = service.getMunicipios(selectedDepartamento); setSelectedMunicipio(solicitante.getMunicipioId()); setSelectedNivel(solicitante.getNivelAcademico()); } else solicitante = new Contacto(); solicitud = new Solicitud(); }
public String registrarSolicitud(Solicitud solicitud, Contacto solicitante) { // si el rol es visitante, antes de aplicar debe completar su portafolio if (login.getContacto().getRol().getId() == 5) { if (solicitante.getPrimerNombre() == null || solicitante.getPrimerApellido() == null || solicitante.getFechaNacimiento() == null || solicitante.getNumeroIdentificacion() == null || solicitante.getSexo() == null || solicitante.getCorreo1() == null || solicitante.getDireccionActual() == null || // solicitante.getNacionalidadId() == null || solicitante.getDepartamentoId() == null || solicitante.getMunicipioId() == null || solicitante.getNivelAcademico() == null) { FacesUtil.getMensaje( "SCCL - Mensaje: ", "Antes de aplicar debe completar su portafolio.", true); return null; } } // validar si tiene solicitudes pendientes if (service.tieneSolicitudesPendientes( solicitante.getNumeroIdentificacion(), selectedCertificacion.getId())) { FacesUtil.getMensaje( "SCCL - Mensaje: ", "El candidato ya aprobó esta certificación o tiene otra solicitud en proceso.", true); return null; } // validar la cedula del candidato if (!ValidatorUtil.validateCedula(solicitante.getNumeroIdentificacion())) { FacesUtil.getMensaje("SCCL - Mensaje: ", "La cedula es invalida.", true); return null; } // validar fecha de nacimiento if (!ValidatorUtil.validarEdadSolicitante(solicitante.getFechaNacimiento())) { FacesUtil.getMensaje( "SCCL - Mensaje: ", "La edad del canditato debe estar entre 18 y 45 años.", true); return null; } Date fecha = ValidatorUtil.obtenerFechaNacimientoDeCedula(solicitante.getNumeroIdentificacion()); if (fecha.compareTo(solicitante.getFechaNacimiento()) != 0) { FacesUtil.getMensaje( "SCCL - Mensaje: ", "La fecha de nacimiento debe coincidir con la cédula.", true); return null; } solicitud.setCertificacion(selectedCertificacion); solicitante.setDepartamentoId(selectedDepartamento); solicitante.setMunicipioId(selectedMunicipio); solicitante.setNivelAcademico(selectedNivel); service.registrarSolicitud(solicitud, solicitante); return "/modulos/solicitudes/solicitudes?faces-redirect=true"; }