def create(self, e): ### If already exists with the same name, enable it ### if e.id == 0: existingId = self.getIdByName(e) if existingId > 0: e.id = existingId return self.update(e) ### If the element does not already exists, we create it ### sql = ( "INSERT INTO partner " "(name, reg_number, bank_account, head_city, head_zip, head_address, is_customer, is_supplier, remark, is_enabled) " "VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)") data = (e.name, e.reg_number, e.bank_account, e.head_city, e.head_zip, e.head_address, e.is_customer, e.is_supplier, e.remark, 1) self.execute(sql, data) e.id = self._cursor.lastrowid for person in e.contacts: PersonManager.getInstance().create(person) self._db.conn.commit() return e
def read(self, pid): e = Partner() sql = ( 'SELECT id, name, reg_number, bank_account, head_city, head_zip, head_address, is_customer, is_supplier, remark ' 'FROM partner WHERE is_enabled=1 AND id = %s') self.execute(sql, (pid, )) res = self._cursor.fetchall() for (id, name, reg_number, bank_account, head_city, head_zip, head_address, customer, supplier, remark) in res: e.id = id e.name = name e.reg_number = reg_number e.bank_account = bank_account e.head_city = head_city e.head_zip = head_zip e.head_address = head_address e.is_customer = customer e.is_supplier = supplier e.remark = remark break e.contacts = PersonManager.getInstance().readAllByPartner(e) return e
def update(self, e): sql = ( "UPDATE partner SET name=%s, reg_number=%s, bank_account=%s, head_city=%s, " "head_zip=%s, head_address=%s, is_customer=%s, is_supplier=%s, " "remark=%s, is_enabled=1 " "WHERE id=%s") data = (e.name, e.reg_number, e.bank_account, e.head_city, e.head_zip, e.head_address, e.is_customer, e.is_supplier, e.remark, e.id) self.execute(sql, data) PersonManager.getInstance().deleteAllForPartner(e) for person in e.contacts: PersonManager.getInstance().create(person) self._db.conn.commit() return e
def update(self, e): sql = ("UPDATE partner SET name=%s, reg_number=%s, bank_account=%s, head_city=%s, " "head_zip=%s, head_address=%s, is_customer=%s, is_supplier=%s, " "remark=%s, is_enabled=1 " "WHERE id=%s") data = (e.name, e.reg_number, e.bank_account, e.head_city, e.head_zip, e.head_address, e.is_customer, e.is_supplier, e.remark, e.id) self.execute(sql, data) PersonManager.getInstance().deleteAllForPartner(e) for person in e.contacts: PersonManager.getInstance().create(person) self._db.conn.commit() return e
def create(self, e): ### If already exists with the same name, enable it ### if e.id == 0: existingId = self.getIdByName(e) if existingId > 0: e.id = existingId return self.update(e) ### If the element does not already exists, we create it ### sql = ("INSERT INTO partner " "(name, reg_number, bank_account, head_city, head_zip, head_address, is_customer, is_supplier, remark, is_enabled) " "VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)") data = (e.name, e.reg_number, e.bank_account, e.head_city, e.head_zip, e.head_address, e.is_customer, e.is_supplier, e.remark, 1) self.execute(sql, data) e.id = self._cursor.lastrowid for person in e.contacts: PersonManager.getInstance().create(person) self._db.conn.commit() return e
def read(self, pid): e = Partner() sql = ('SELECT id, name, reg_number, bank_account, head_city, head_zip, head_address, is_customer, is_supplier, remark ' 'FROM partner WHERE is_enabled=1 AND id = %s') self.execute(sql, (pid,)) res = self._cursor.fetchall() for (id, name, reg_number, bank_account, head_city, head_zip, head_address, customer, supplier, remark) in res: e.id = id e.name = name e.reg_number = reg_number e.bank_account = bank_account e.head_city = head_city e.head_zip = head_zip e.head_address = head_address e.is_customer = customer e.is_supplier = supplier e.remark = remark break e.contacts = PersonManager.getInstance().readAllByPartner(e) return e
def delete(person): return PersonManager.getInstance().delete(person)
def create(person): return PersonManager.getInstance().create(person)
def update(person): return PersonManager.getInstance().update(person)
def new(): return PersonManager.getInstance().new()
def get(elementId): return PersonManager.getInstance().read(elementId)
def getListItems(): return PersonManager.getInstance().readAllNameIdPairs()
def serialize(person): return PersonManager.getInstance().serialize(person)
def unserialize(data): return PersonManager.getInstance().unserialize(data)