def find_by_id(self, id): """Suchen eines moduls mit vorgegebener id. Da diese eindeutig ist, wird genau ein Objekt zurückgegeben. :param id Primärschlüsselattribut (->DB) :return modul-Objekt, das dem übergebenen Schlüssel entspricht, None bei nicht vorhandenem DB-Tupel. """ result = None cursor = self._cnx.cursor() command = "SELECT * FROM module WHERE id={}".format(id) cursor.execute(command) tuples = cursor.fetchall() if tuples[0] is not None: (id, creation_time, name, edv_nr) = tuples[0] module = Module() module.set_id(id) module.set_creation_time(creation_time) module.set_name(name) module.set_edv_nr(edv_nr) result = module self._cnx.commit() cursor.close() return result
def find_by_key(self, id): """Suchen eines Moduls mit vorgegebener ID-Nummer.""" result = [] cursor = self._cnx.cursor() command = "SELECT * FROM module WHERE id like '{}'".format(id) cursor.execute(command) tuples = cursor.fetchall() if len(tuples) != 0: for (id, name, assignment_id, create_time) in tuples: module = Module() module.set_id(id) module.set_name(name) module.set_assignment_id(assignment_id) module.set_create_time(create_time) result.append(module) result = module else: result = None self._cnx.commit() cursor.close() return result
def find_by_name(self, name): """Auslesen aller Benutzer anhand des Benutzernamens. :param name Name der zugehörigen Benutzer. :return Eine Sammlung mit User-Objekten, die sämtliche Benutzer mit dem gewünschten Namen enthält.""" result = [] cursor = self._cnx.cursor() command = "SELECT * FROM module WHERE name LIKE '{}' ORDER BY name".format( name) cursor.execute(command) tuples = cursor.fetchall() for (id, creation_time, name, edv_nr) in tuples: module = Module() module.set_id(id) module.set_creation_time(creation_time) module.set_name(name) module.set_edv_nr(edv_nr) result.append(module) self._cnx.commit() cursor.close() return result
def create_module(self, name, assignment_id): """Modul erstellen""" module = Module() module.set_name(name) module.set_assignment_id(assignment_id) module.set_id(1) with ModuleMapper() as mapper: return mapper.insert(module)
def find_by_edv_nr(self, edv_nr): result = [] cursor = self._cnx.cursor() command = "SELECT * FROM module WHERE name LIKE '{}' ORDER BY edv_nr".format( edv_nr) cursor.execute(command) tuples = cursor.fetchall() for (id, creation_time, name, edv_nr) in tuples: module = Module() module.set_id(id) module.set_creation_time(creation_time) module.set_name(name) module.set_edv_nr(edv_nr) result.append(module) self._cnx.commit() cursor.close() return result
def find_by_name(self, name): """Suchen eines Moduls anhand desen Namen""" result = [] cursor = self._cnx.cursor() command = "SELECT * FROM module WHERE name like '{}'".format(name) cursor.execute(command) tuples = cursor.fetchall() for (id, name, assignment_id, create_time) in tuples: module = Module() module.set_id(id) module.set_name(name) module.set_assignment_id(assignment_id) module.set_create_time(create_time) result.append(module) self._cnx.commit() cursor.close() return result
def find_all(self): """Auslesen aller Module.""" result = [] cursor = self._cnx.cursor() command = "SELECT * FROM module" cursor.execute(command) tuples = cursor.fetchall() for (id, name, assignment_id, create_time) in tuples: module = Module() module.set_id(id) module.set_name(name) module.set_assignment_id(assignment_id) module.set_create_time(create_time) result.append(module) self._cnx.commit() cursor.close() return result
def post(self): """Anlegen eines neuen Modul-Objekts. """ adm = ProjectAdministration() m = Module.from_dict(api.payload) if m is not None: modu = adm.create_module(m.get_id(), m.get_creation_time(), m.get_name(), m.get_edv_nr()) return modu, 200 else: return '', 500
def find_all(self): """Auslesen aller Module. :return Eine Sammlung mit Modul-Objekten, """ result = [] cursor = self._cnx.cursor() cursor.execute("SELECT * from module") tuples = cursor.fetchall() for (id, creation_time, name, edv_nr) in tuples: module = Module() module.set_id(id) module.set_creation_time(creation_time) module.set_name(name) module.set_edv_nr(edv_nr) result.append(module) self._cnx.commit() cursor.close() return result
def put(self, id): """Update eines bestimmten Moduler-Objekts. """ adm = ProjectAdministration() mo = Module.from_dict(api.payload) if mo is not None: """Hierdurch wird die id des zu überschreibenden (vgl. Update) Customer-Objekts gesetzt. Siehe Hinweise oben. """ mo.set_id(id) adm.save_module(mo) return '', 200 else: return '', 500
def create_module(self, id, creation_time, name, edv_nr): """Ein Modul anlegen""" module = Module() module.set_name(name) module.set_edv_nr(edv_nr) module.set_id(id) module.set_creation_time(creation_time) module.set_id(1) with ModuleMapper() as mapper: return mapper.insert(module)