def admin(): # admin view pending request list statement = """SELECT * FROM Request r INNER JOIN BaseProperty bp ON bp.PropertyID = r.PropertyID WHERE bp.OwnershipID = '7EE30661-80AD-4862-966B-7279D0F80D22'""" request_list = [] records = Get.read_all(statement=statement) for record in records: request_list.append(vars(Request.Request(record))) return request_list
def sign_in(input_credential): statement = """SELECT * FROM UserAccount WHERE Username = ?""" user = User.User(Get.read(statement=statement, row_id=input_credential[0])) user_credential = user.username, user.password return (False, "null") if common.isNone(input_credential) \ else (True, "success") if common.verify(input_credential, user_credential) \ else (False, "fail")
def view_details(prop_id): # view by property id for details statement = """SELECT * FROM BaseProperty WHERE PropertyID = ?""" property_list = [] records = Get.read_multiple(statement=statement, row_id=prop_id) for record in records: property_list.append(vars(BaseProperty.BaseProperty(record))) return property_list
def self(user_id): # view own property list statement = """SELECT * FROM BaseProperty WHERE OwnershipID = ? OR RentID = ?""" property_list = [] records = Get.read_multiple_with_2_param(statement=statement, row_id_1=user_id, row_id_2=user_id) for record in records: property_list.append(vars(BaseProperty.BaseProperty(record))) return property_list
def overview(property_id): # Overview of unpaid bill by property statement = """SELECT * FROM Billing WHERE PaymentDate IS NULL AND PropertyID = ?""" unpaid_bill_list = [] records = Get.read_multiple(statement=statement, row_id=property_id) for record in records: bill = Billing.Billing(record) unpaid_bill_list.append(bill.billing_amount) return {"property_id": property_id, "total": sum(unpaid_bill_list)}
def overview_unpaid(): # Overview of unpaid bill statement = """SELECT * FROM Billing WHERE PaymentDate IS NULL""" unpaid_bill_list = [] records = Get.read_all(statement=statement) for record in records: bill = Billing.Billing(record) unpaid_bill_list.append(bill.billing_amount) return sum(unpaid_bill_list)
def validate_user(user): statement = """SELECT * FROM UserAccount WHERE Username = ?""" required_field = (user.user_id, user.fullname, user.username, user.password, user.email, user.phone, user.privilege) if common.isNone(required_field) is False: if Get.read(statement=statement, row_id=user.username) is None: if common.valid_email(user.email) is True: if user.bank_name is not None: if user.bank_account is not None: if common.valid_integer(user.bank_account): return True, "success" return False, "Data Type Not Match!" return False, "Bank Account Not Filled!" return True, "success" return False, "Invalid Email!" return False, "Username Existed!" return False, "Required Field Not Filled!"
def view(statement, user_id): request_list = [] records = Get.read_multiple(statement=statement, row_id=user_id) for record in records: request_list.append(vars(Request.Request(record))) return request_list
def view(statement): property_list = [] records = Get.read_all(statement=statement) for record in records: property_list.append(vars(BaseProperty.BaseProperty(record))) return property_list
def view(statement, row_id): billing_list = [] records = Get.read_multiple(statement=statement, row_id=row_id) for record in records: billing_list.append(vars(Billing.Billing(record))) return billing_list
def display(property_id): # view property details statement = """SELECT * FROM BaseProperty WHERE PropertyID = ?""" base_property = BaseProperty.BaseProperty( Get.read(statement=statement, row_id=property_id)) return vars(base_property)