def transfer_money(id): try: acc_no_sender = int(input("Enter Account No From : ")) except: print("Invalid Account No") return account_sender = database.get_all_info_account(acc_no_sender,id,"withdraw") if account_sender is not None: try: acc_no_receiver = int(input("Enter Account No To Transfer Money To : ")) except: print("Invalid Account No") return account_receiver = database.get_all_info_account(acc_no_receiver,-1,"transfer") if account_receiver is not None: try: amount = int(input("\nEnter Amount To Transfer : ")) except: print("Invalid Amount") return database.transfer_money_customer(account_sender,account_receiver,amount) else: print("Sorry Account doesn't exist") else: print("Sorry Account No doesn't match")
def avail_loan(id): try: acc_no = int(input("\nEnter Your Savings Account No : ")) except: print("Invalid Account No") return account = database.get_all_info_account(acc_no,id,"loan") if account is not None: max_loan = 2*account.get_balance() msg = "\nEnter loan amount (Max Amount : Rs "+ str(max_loan) + " ) (in multiples of 1000) : " try: loan_amt = int(input(msg)) except: print("Invalid Amount") return if loan_amt <= max_loan and loan_amt > 0 and loan_amt % 1000 == 0 : try: loan_term = int(input("\nEnter repayment term (in months) : ")) except: print("Invalid repayment term") return if loan_term > 0: database.get_loan_customer(account.get_account_no(),loan_amt,loan_term) res = db_admin.get_loan_report(id) print("Account No \t\t\t\t Amount \t\t\t\t Repay Term") for i in range(0,len(res)): print(res[i][0]," \t\t\t\t\t ",res[i][1]," \t\t\t\t ",res[i][2]) else: print("Sorry ! Invalid Loan Term") else: print("Sorry ! Invalid Loan Amount") else: print("Sorry! Account No Doesn't match")
def withdraw_money(id): try: acc_no = int(input("Enter your account No: ")) except: print("ERROR: Invalid Account No") return account = database.get_all_info_account(acc_no, id, "withdraw") if account is not None: if account.get_withdrawals_left() == 0 and account.get_account_type( ) == "savings": print("ERROR: You have exceeded withdrawals(10) for this month") else: try: amount = int(input("Enter amount to Withdraw: ")) except: print("ERROR: Invalid Amount") return if account.withdraw(amount) == True: database.money_withdraw_customer(account, amount, "withdraw") print("Rs ", amount, "Successfully withdrawn") print("Balance : Rs ", account.get_balance()) else: print("ERROR: Account No doesn't match")
def deposit_money(id): try: acc_no = int(input("Enter your account No\n")) except: print("Invalid Account No") return account = database.get_all_info_account(acc_no,id,"deposit") if account is not None: try: amount = int(input("Enter amount to Deposit\n")) except: print("Invalid Amount") return if account.deposit(amount) == True: try: database.money_deposit_customer(account,amount) except cx_Oracle.DatabaseError as e: print("Sorry something went Wrong") print(e) con.rollback() return print("Rs ",amount,"Successfully deposited"); print("Balance : Rs ",account.get_balance()) else: print("Sorry Account No doesn't match")
def close_account(id): try: acc_no = int(input("\nEnter Account No to close : ")) except: print("Invalid Account No") return account = database.get_all_info_account(acc_no,id,"close") if account is not None: database.close_account_customer(account) else: print("\nSorry Account No doesn't match")
def print_statement(id): try: acc_no = int(input("Enter your account No\n")) except: print("Invalid Account No") return account = database.get_all_info_account(acc_no,id,"statement") if account is not None: print("Enter Dates in format (day-Mon-Year) ") date_from = input("Date From : ") date_to = input("\nDate To : ") if validate.validate_date(date_from,date_to) == True: res = database.get_transactions_account(acc_no,date_from,date_to) print("Date \t\t\t Transaction Type \t\t\t Amount \t\t\t Balance \t") for i in range(0,len(res)): print(res[i][0].strftime("%d-%b-%Y")," \t\t\t ",res[i][1]," \t\t\t ",res[i][2]," \t\t\t ",res[i][3]) else: print("Please Enter Valid Dates")
def deposit_money(id): try: acc_no = int(input("Enter your account No: ")) except: print("ERROR: Invalid Account No") return account = database.get_all_info_account(acc_no, id, "deposit") if account is not None: try: amount = int(input("Enter amount to Deposit: Rs ")) except: print("ERROR: Invalid Amount") return if account.deposit(amount) == True: database.money_deposit_customer(account, amount) print("Rs ", amount, "Successfully deposited") print("Balance : Rs ", account.get_balance()) else: print("ERROR: Account No doesn't match")
def avail_loan(self): try: acc_no = int(input("\nEnter Your Savings Account No : ")) except: print("Invalid Account No") return account = database.get_all_info_account(acc_no, self.id, "loan") if account is not None: max_loan = 2 * account.get_balance() msg = "\nEnter loan amount (Max Amount : Rs " + str( max_loan) + " ) (in multiples of 1000) : " try: loan_amt = int(input(msg)) except: print("Invalid Amount") return if max_loan >= loan_amt > 0 and loan_amt % 1000 == 0: try: loan_term = int( input("\nEnter repayment term (in months) : ")) except: print("Invalid repayment term") return if loan_term > 0: database.get_loan_customer(account.get_account_no(), loan_amt, loan_term) res = db_admin.get_loan_report(self.id) print( tabulate( res, headers=["Account No", "Amount", "Repay Term"], tablefmt="pretty")) else: print("Sorry ! Invalid Loan Term") else: print("Sorry ! Invalid Loan Amount") else: print("Sorry! Account No Doesn't match")
def print_statement(self): try: acc_no = int(input("Enter your account No\n")) except: print("Invalid Account No") return account = database.get_all_info_account(acc_no, self.id, "statement") if account is not None: print("Enter Dates in format (Year-Mon-Day) ") date_from = input("Date From : ") date_to = input("Date To : ") if validate.validate_date(date_from, date_to): res = database.get_transactions_account( acc_no, date_from, date_to) print( tabulate(res, headers=[ "Date", "Transaction Type", "Amount", "Balance", "Account Type" ], tablefmt="pretty")) else: print("Please Enter Valid Dates")