예제 #1
0
    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
예제 #2
0
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)
예제 #3
0
 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
예제 #4
0
    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
예제 #5
0
    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
예제 #6
0
 def __init__(self):
     self.dao = EscenarioDao()
def test_traerUltimoEscenario():
    escenario = EscenarioDao()
    print(escenario.traerUltimoEscenario().getIdEscenario())