class Patient: _user: User _gender: bool _hospitalAddress: str @property def gender(self) -> str: return 'мужской' if self._gender else 'женский' @property def fio(self) -> str: return self._user.fio @property def birthday(self) -> str: return str(self._user.birthday) @property def zip(self) -> int: return self._hospitalZip @property def address(self) -> str: return self._hospitalAddress def __init__(self, user: User=None, login: str = 0, password: str = 0, user_type: int = 0, fio: str = 0, birthday: date = "", patient_zip: int = None, connection=None, gender: bool = None): if user is not None: self._user = user else: self._user = User(fio=fio, birthday=birthday, login=login, password=password, user_type=user_type, is_empty=False) self._user.set_connection(connection) self._hospitalZip = patient_zip self._gender = gender def get(self, conn, login, password): self._user = User(connection=conn) self._user.get(login, password) cursor = self._user.conn.cursor() cursor.execute("EXEC get_patient '{0}', '{1}'".format(self._user.login, self._user.password)) row = cursor.fetchone() if row is not None: self._user.fio = row[0] self._user.birthday = row[1] self._gender = row[2] self._hospitalAddress = row[3] def save(self): cursor = self._user.conn.cursor() cursor.execute("EXEC add_patient '{0}', {1}, {2}, '{3}', '{4}', '{5}';" .format(self.fio, self._gender, self.zip, self._user.login, self._user.password, self.birthday)) row = cursor.fetchone() if row[0] == 0: QueryMessage(302)
class AuthController: login: str = "" password: str = "" def __init__(self, _mainController, connection): self._mainController = _mainController self._authWindow = AuthWindow(self) self._connection = connection def set_connection(self, value): self._connection = value def set_login(self, login: str): self.login = login def set_password(self, password: str): self.password = password def try_auth(self): self.user = User() self.user.set_connection(self._connection) self.user.get(self.login, self.password) self.off_enabled() if self.user.type == 1: self._mainController.create_user_window(self.user) elif self.user.type == 2: self._mainController.create_reg_window(self.user) elif self.user.type == 3: self._mainController.create_doctor_window(self.user) else: self.on_enabled() def off_enabled(self): self._authWindow.setVisible(False) def get_info(self): self._mainController.create_info_window() def on_enabled(self): self._authWindow.setVisible(True)