def modEdificio(edificio: Edificio): dbDict = dao.openDBConnection() query = "UPDATE Edificio SET Edificio.nombre = %s, Edificio.topic = %s WHERE Edificio.idEdificio = %s;" dbDict['cursor'].execute( query, (edificio.getNombre(), edificio.getTopic(), edificio.getId())) dbDict['db'].commit() dao.closeDBConnection(dbDict) return '0'
def modAula(aula: Aula): dbDict = dao.openDBConnection() query = "UPDATE Aula SET Aula.nombre = %s, Aula.topic = %s WHERE Aula.idAula = %s;" dbDict['cursor'].execute(query, (aula.getNombre(), aula.getTopic(), aula.getId())) dbDict['db'].commit() dao.closeDBConnection(dbDict) return '0'
def addAula(nombre: str, topic: str, idEdificio: int): dbDict = dao.openDBConnection() query = "INSERT INTO Aula (nombre, topic, idEdificio) VALUES (%s, %s, %s);" dbDict['cursor'].execute(query, (nombre, topic, idEdificio)) dbDict['db'].commit() aula = Aula(dbDict['cursor'].lastrowid, nombre, topic, list()) dao.closeDBConnection(dbDict) return aula
def addEdificio(nombre: str, topic: str): dbDict = dao.openDBConnection() query = "INSERT INTO Edificio (nombre, topic) VALUES (%s, %s);" dbDict['cursor'].execute(query, (nombre, topic)) dbDict['db'].commit() edificio = Edificio(dbDict['cursor'].lastrowid, nombre, topic, list()) dao.closeDBConnection(dbDict) return edificio
def addDato(tipo: str, dato: str, idAula: int): dbDict = dao.openDBConnection() fecha = datetime.datetime.now() query = "INSERT INTO Dato (fecha, tipo, dato, idAula) VALUES (%s, %s, %s, %s);" dbDict['cursor'].execute(query, (fecha, tipo, dato, idAula)) dbDict['db'].commit() dato = Dato(dbDict['cursor'].lastrowid, dato, tipo, fecha) dao.closeDBConnection(dbDict) return dato
def delAula(idAula: int): dbDict = dao.openDBConnection() query = "DELETE FROM Dato WHERE Dato.idAula = %s;" dbDict['cursor'].execute(query, (idAula, )) dbDict['db'].commit() query = "DELETE FROM Aula WHERE Aula.idAula = %s;" dbDict['cursor'].execute(query, (idAula, )) dbDict['db'].commit() dao.closeDBConnection(dbDict) return '0'
def getEdificio(idEdificio: int): dbDict = dao.openDBConnection() query = "SELECT Edificio.idEdificio, Edificio.nombre, Edificio.topic FROM Edificio " \ "WHERE Edificio.idEdificio = %s " \ "ORDER BY Edificio.idEdificio ASC" dbDict['cursor'].execute(query, (idEdificio, )) fila = dbDict['cursor'].fetchone() edificio = Edificio(fila[0], fila[1], fila[2], list()) dao.closeDBConnection(dbDict) return edificio
def getAllEdificio(): dbDict = dao.openDBConnection() query = "SELECT Edificio.idEdificio, Edificio.nombre, Edificio.topic FROM Edificio " \ "ORDER BY Edificio.idEdificio ASC" dbDict['cursor'].execute(query) dictEdificio = {} for fila in dbDict['cursor']: edificio = __getDictValue(dictEdificio, fila[0]) if edificio is None: edificio = Edificio(fila[0], fila[1], fila[2], list()) dictEdificio[edificio.getId()] = edificio dao.closeDBConnection(dbDict) return dictEdificio
def getEdificioByTopic(topic: str): dbDict = dao.openDBConnection() query = "SELECT Edificio.idEdificio, Edificio.nombre FROM Edificio " \ "WHERE Edificio.topic = %s " \ "ORDER BY Edificio.idEdificio ASC " \ "LIMIT 1" dbDict['cursor'].execute(query, (topic, )) edificio = Edificio(0, "", "", list()) for fila in dbDict['cursor']: edificio.setId(fila[0]) edificio.setNombre(fila[1]) dao.closeDBConnection(dbDict) return edificio
def getAulaByEdificio(idEdificio: int): dbDict = dao.openDBConnection() query = "SELECT Aula.idAula, Aula.nombre, Aula.topic FROM Aula " \ "WHERE Aula.idEdificio = %s " \ "ORDER BY Aula.idAula ASC" dbDict['cursor'].execute(query, (idEdificio, )) dictAula = {} for fila in dbDict['cursor']: aula = __getDictValue(dictAula, fila[0]) if aula is None: aula = Aula(fila[0], fila[1], fila[2], list()) dictAula[aula.getId()] = aula dao.closeDBConnection(dbDict) return dictAula
def getAulaByTopic(topicEdificio: str, topicAula: str): dbDict = dao.openDBConnection() query = "SELECT Aula.idAula, Aula.nombre FROM Edificio " \ "INNER JOIN Aula ON Edificio.idEdificio = Aula.idEdificio " \ "WHERE Edificio.topic = %s AND Aula.topic = %s " \ "ORDER BY Edificio.idEdificio ASC, Aula.idAula ASC " \ "LIMIT 1" dbDict['cursor'].execute(query, (topicEdificio, topicAula)) aula = Aula(0, "", "", list()) for fila in dbDict['cursor']: aula.setId(fila[0]) aula.setNombre(fila[1]) dao.closeDBConnection(dbDict) return aula
def getAllDatoFromAula(idEdificio: int, idAula: int): dbDict = dao.openDBConnection() query = "SELECT Dato.idDato, Dato.fecha, Dato.tipo, Dato.dato FROM Edificio " \ "INNER JOIN Aula ON Edificio.idEdificio = Aula.idEdificio " \ "INNER JOIN Dato ON Aula.idAula = Dato.idAula " \ "WHERE Edificio.idEdificio = %s AND Aula.idAula = %s " \ "ORDER BY Dato.idDato ASC" dbDict['cursor'].execute(query, (idEdificio, idAula)) dictDato = {} for fila in dbDict['cursor']: dato = __getDictValue(dictDato, fila[0]) if dato is None: dato = Dato(fila[0], fila[3], fila[2], fila[1]) dictDato[dato.getId()] = dato dao.closeDBConnection(dbDict) return dictDato
def delEdificio(idEdificio: int): dbDict = dao.openDBConnection() dictAula = daoAula.getAulaByEdificio(idEdificio) for i in dictAula: query = "DELETE FROM Dato WHERE Dato.idAula = %s;" dbDict['cursor'].execute(query, (dictAula[i].getId(), )) dbDict['db'].commit() query = "DELETE FROM Aula WHERE Aula.idEdificio = %s;" dbDict['cursor'].execute(query, (idEdificio, )) dbDict['db'].commit() query = "DELETE FROM Edificio WHERE Edificio.idEdificio = %s;" dbDict['cursor'].execute(query, (idEdificio, )) dbDict['db'].commit() dao.closeDBConnection(dbDict) return '0'
def getEdificioWithAllAula(idEdificio: int): dbDict = dao.openDBConnection() query = "SELECT Edificio.idEdificio, Edificio.nombre, Edificio.topic, Aula.idAula, Aula.nombre, Aula.topic FROM Edificio " \ "INNER JOIN Aula ON Edificio.idEdificio = Aula.idEdificio " \ "WHERE Edificio.idEdificio = %s " \ "ORDER BY Edificio.idEdificio ASC" dbDict['cursor'].execute(query, (idEdificio, )) primeraFila = dbDict['cursor'].fetchone() edificio = Edificio(primeraFila[0], primeraFila[1], primeraFila[2], list()) edificio.getLstAula().append( Aula(primeraFila[3], primeraFila[4], primeraFila[5], list())) for fila in dbDict['cursor']: aula = Aula(fila[3], fila[4], fila[5], list()) edificio.getLstAula().append(aula) dao.closeDBConnection(dbDict) return edificio