GestorPropuestasCursos.java
package negocio.controllers;
import java.sql.SQLException;
import negocio.controllers.CursoException.*;
import negocio.entities.*;
public class GestorPropuestasCursos {
public void realizarPropuestaCurso(CursoPropio cursoPropuesto) throws SQLException, CursoNoCreadoException, CursoErroneoException {
comprobarSiTieneIdEdicion(cursoPropuesto);
if (cursoPropuesto.cursoPropioDao.crearNuevoCurso(cursoPropuesto) == 0) {
throw new CursoNoCreadoException("No se ha realizado la propuesta del curso");
}
}
public void editarPropuestaCurso(CursoPropio cursoEditado) throws SQLException, CursoNoEditadoException, CursoErroneoException, CursoNoExisteException {
comprobarSiTieneIdEdicion(cursoEditado);
if (cursoEditado.cursoPropioDao.editarCurso(cursoEditado) == 0) {
throw new CursoNoEditadoException("No se ha realizado la ediciĆ³n de la propuesta del curso");
}
}
public void eliminarPropuestaCurso(CursoPropio curso) throws SQLException, CursoNoEliminadoException, CursoErroneoException {
comprobarSiTieneIdEdicion(curso);
if (curso.cursoPropioDao.eliminarCursoPropio(curso) == 0) {
throw new CursoNoEliminadoException("No se ha eliminado la propuesta del curso");
}
}
public EstadoCurso evaluarPropuesta(CursoPropio curso) throws SQLException, CursoErroneoException, CursoNoExisteException {
comprobarSiTieneIdEdicion(curso);
CursoPropio cursoTemp = curso.cursoPropioDao.seleccionarCurso(curso);
return cursoTemp.estado;
}
public void altaCursoAprobado(CursoPropio curso) throws SQLException, CursoNoEditadoException, CursoErroneoException, CursoNoExisteException {
comprobarSiTieneIdEdicion(curso);
curso.estado = EstadoCurso.VALIDADO;
if (curso.cursoPropioDao.editarCurso(curso) == 0) {
throw new CursoNoEditadoException("No se ha dado de alta el curso");
}
}
private void comprobarSiTieneIdEdicion(CursoPropio curso) throws CursoErroneoException {
boolean idCursoError = false;
boolean edicionCursoError = false;
if (curso == null) throw new CursoErroneoException("Curso nulo");
if (curso.getId()==null || curso.getId().equals("")) idCursoError = true;
if (curso.getEdicion()<=0) edicionCursoError = true;
if (!idCursoError && !edicionCursoError) return;
else if (idCursoError && edicionCursoError) throw new CursoErroneoException("Curso sin id ni edicion");
else {
if (idCursoError) throw new CursoErroneoException("Curso sin id");
if (edicionCursoError) throw new CursoErroneoException("Curso sin edicion");
}
}
}