def traerCursosPorDocente(self, idDocente): sesion = self.iniciarOperacion() cursor = sesion.obtenerCursor() lstCursos = [] curso = Curso() escenario = EscenarioDao() try: cursor.execute("""select * from Curso where Curso.Docente_idDocente='%i'""" % idDocente) resultado = cursor.fetchall() for fila in range(len(resultado)): for columna in range(len(resultado[fila])): if columna == 0: curso.setIdCurso(resultado[fila][columna]) if columna == 1: curso.setPuedeSaltear(resultado[fila][columna]) if columna == 2: curso.setNombre(resultado[fila][columna]) if columna == 3: curso.setDescripcion(resultado[fila][columna]) curso.setListaEscenario(escenario.traerEscenariosPorCurso(curso.getIdCurso())) if columna == 5: juego = JuegoDao() curso.setJuego(juego.traerJuegoPorId(resultado[fila][columna])) if columna == 6: curso.setFechaCreacion(resultado[fila][columna]) lstCursos.append(curso) curso = Curso() # creo una nueva instancia por que se maneja # por referencia, si no, se pisan en la lista. finally: cursor.close() sesion.cerrarConexion() return lstCursos
class EscenarioABM: def __init__(self): self.dao = EscenarioDao() def traerEscenario(self, idEscenario): return self.dao.traerEscenario(idEscenario) def actualizarEscenario(self, escenario): return self.dao.actualizarEscenario(escenario) def agregarEscenario(self, bloquesPermitidos, cantBloquesMax, hint, posibleSolucion, descripcion, idCurso): return self.dao.agregar(bloquesPermitidos, cantBloquesMax, hint, posibleSolucion, descripcion, idCurso) def traerEscenariosPorCursos(self, idCurso): return self.dao.traerEscenariosPorCurso(idCurso)
def traerCurso(self, idCurso): sesion = self.iniciarOperacion() cursor = sesion.obtenerCursor() curso = Curso(False, "-", "-", "-") escenario = EscenarioDao() try: cursor.execute("""select * from Curso where Curso.idCurso = %i""" % long(idCurso)) resultado = cursor.fetchone() if resultado is not None: juego = JuegoDao() curso = Curso(resultado[1], resultado[2], juego.traerJuegoPorId(resultado[5]), resultado[3], resultado [6]) curso.setIdCurso(resultado[0]) curso.setListaEscenario(escenario.traerEscenariosPorCurso(curso.getIdCurso())) else: return None except Exception as e: print("Error al procesar query. error : " + e.message) finally: cursor.close() sesion.cerrarConexion() return curso
def traerEscenariosPorCurso(self, idCurso): sesion = self.iniciarOperacion() cursor = sesion.obtenerCursor() lstEscenarios = [] try: cursor.execute("""select * from EscenarioEnProceso where EscenarioEnProceso.CursoIniciado_idCursoIniciado='%i'""" % idCurso) resultado = cursor.fetchall() if resultado is not None: escenarioenproceso = EscenarioEnProceso() escenariodao = EscenarioDao() for fila in range(len(resultado)): for columna in range(len(resultado[fila])): if columna ==0: escenarioenproceso.setId(resultado[fila][columna]) if columna == 1: escenarioenproceso.setPuntajeObtenido(resultado[fila][columna]) if columna == 2: escenarioenproceso.setSolucionBrindada(resultado[fila][columna]) if columna == 3: escenarioenproceso.setFechaInicio(resultado[fila][columna]) if columna == 4: escenarioenproceso.setFechaFinalizacion(resultado[fila][columna]) if columna == 5: escenarioenproceso.setCantidadBloquesUtilizados(resultado[fila][columna]) if columna == 6: escenarioenproceso.setTiempoSolucion(resultado[fila][columna]) if columna == 7: escenarioenproceso.setIntentos(resultado[fila][columna]) if columna == 8: escenarioenproceso.setEscenario(escenariodao.traerEscenario(resultado[fila][columna])) lstEscenarios.append(escenarioenproceso) escenarioenproceso = EscenarioEnProceso() finally: cursor.close() sesion.cerrarConexion() return lstEscenarios
def traerEscenario(self, idEscenario): sesion = Sesion() cursor = sesion.obtenerCursor() escenarioEnProceso = EscenarioEnProceso() escenario =EscenarioDao() try: cursor.execute("""select * from EscenarioEnProceso where EscenarioEnProceso.idEscenarioEnProceso ='%i'""" % idEscenario) resultado = cursor.fetchone() escenarioEnProceso.setId(resultado[0]) escenarioEnProceso.setPuntajeObtenido(resultado[1]) escenarioEnProceso.setSolucionBrindada(resultado[2]) escenarioEnProceso.setFechaInicio(resultado[3]) escenarioEnProceso.setFechaFinalizacion(resultado[4]) escenarioEnProceso.setCantidadBloquesUtilizados(resultado[5]) escenarioEnProceso.setTiempoSolucion(resultado[6]) escenarioEnProceso.setIntentos(resultado[7]) escenarioEnProceso.setEscenario(escenario.traerEscenario(resultado[8])) finally: cursor.close() sesion.cerrarConexion() return escenarioEnProceso
def __init__(self): self.dao = EscenarioDao()
def test_traerUltimoEscenario(): escenario = EscenarioDao() print(escenario.traerUltimoEscenario().getIdEscenario())