def update_usuario(user): os.system("cls") print(f"ATUALIZAÇÃO DOS DADOS DO USUÁRIO: {user.username}\nTODOS OS CAMPOS SÃO OBRIGATÓRIOS.") try: nome = input("INFORME O PRIMEIRO NOME: ") sobrenome = input("INFORME O SOBRENOME: ") username = input("INFORME SEU USERNAME: "******"INFORME O CELULAR: ") password1 = getpass.getpass("INFORME A SENHA DE ACESSO: ") password2 = getpass.getpass("CONFIRME A SENHA DE ACESSO: ") while(password1 != password2): print("AS SENHAS DEVEM SER AS MESMAS, TENTE NOVAMENTE!\n") password1 = getpass.getpass("INFORME A SENHA DE ACESSO: ") password2 = getpass.getpass("CONFIRME A SENHA DE ACESSO: ") sql_update = f"""UPDATE tb_user SET first_name = '{nome}', last_name = '{sobrenome}', celular = '{celular}', password = '******', username = '******' WHERE id_user = {user.id};""" exec_command(sql_update) print("DADOS ATUALIZADOS COM SUCESSO.") except: print("FALHA NA ATUALIZAÇÃO DOS DADOS. TENTE NOVAMENTE") input() return
def cadastro_usuario_tela(nome, sobrenome, username, celular, password): try: novo_user = User(0, nome, sobrenome, celular, password, username) sql_user = f"INSERT INTO tb_user (first_name, last_name, celular, password, username) values('{novo_user.first_name}', '{novo_user.last_name}', '{novo_user.celular}', '{novo_user.password}', '{novo_user.username}')" exec_command(sql_user) return True except: return False
def novos_livros_json(user, json_books): print(f"Importando {len(json_books)} livros para o banco de dados.") try: for book in json_books: new_book = Book(0, book['book_name'], book['year'], book['author'], user.id) sql_user = f"INSERT INTO tb_book (book_name, year, author, id_owner) values('{new_book.name}', '{new_book.year}', '{new_book.author}', '{user.id}')" exec_command(sql_user) print("Importação finalizada com sucesso") input() except: print("Falha na importação dos livros.") input()
def disponibilizar_livro(usuario): id_livro = int(input("INFORME O ID DO LIVRO QUE SERÁ DISPONIBILIZADO: ")) local = input("INFORME O LOCAL ONDE O LIVRO SERÁ DISPONIBILIZADO: ") livro = lista_book(id_livro, usuario) if (len(livro) > 0): novo_loan = Loan(0, usuario.id, livro[0][0], local, 'DISPONIVEL') sql_loan = f"INSERT INTO tb_loan (id_user, id_book, begin_date, coletion_location, status) values('{usuario.id}', '{novo_loan.id_book}', null, '{novo_loan.collect_location}', '{novo_loan.status}')" try: exec_command(sql_loan) print("LIVRO DISPONIBILIZADO COM SUCESSO!") except: print("FALHA AO DISPONIBILIZAR LIVRO.") else: print("ID ESCOLHIDO NÃO É VÁLIDO!")
def novo_livro(user): os.system("cls") try: book_name = input("INFORME O NOME DO LIVRO: ") year = int(input("INFORME O ANO DA EDIÇÃO: ")) author = input("INFORME O AUTOR: ") new_book = Book(0, book_name, year, author, user.id) sql_user = f"INSERT INTO tb_book (book_name, year, author, id_owner) values('{new_book.name}', '{new_book.year}', '{new_book.author}', '{user.id}')" exec_command(sql_user) print("Livro inserido com sucesso!") input() except: print("Falha ao inserir livro. Tente novamente") input()
def cadastro_usuario(): os.system("cls") print("SHARRING BOOKS - CADASTRO DE USUÁRIO: ") nome = input("INFORME O PRIMEIRO NOME: ") sobrenome = input("INFORME O SOBRENOME: ") username = input("INFORME SEU USERNAME: "******"INFORME O CELULAR: ") password1 = getpass.getpass("INFORME A SENHA DE ACESSO: ") password2 = getpass.getpass("CONFIRME A SENHA DE ACESSO: ") while(password1 != password2): print("AS SENHAS DEVEM SER AS MESMAS, TENTE NOVAMENTE!\n") password1 = getpass.getpass("INFORME A SENHA DE ACESSO: ") password2 = getpass.getpass("CONFIRME A SENHA DE ACESSO: ") novo_user = User(0, nome, sobrenome, celular, password1, username) sql_user = f"INSERT INTO tb_user (first_name, last_name, celular, password, username) values('{novo_user.first_name}', '{novo_user.last_name}', '{novo_user.celular}', '{novo_user.password}', '{novo_user.username}')" exec_command(sql_user)
def update_book(user): os.system("cls") list_my_books(user) book_id = input("INFORME O ID DO LIVRO QUE SERÁ ATUALIZADO: ") try: book_name = input("INFORME O NOME DO LIVRO: ") year = int(input("INFORME O ANO DA EDIÇÃO: ")) author = input("INFORME O AUTOR: ") sql_book = f"""UPDATE tb_book SET book_name = '{book_name}', year = '{year}', author = '{author}' WHERE id_book = '{book_id}' and id_owner = '{user.id}'""" exec_command(sql_book) print("Livro atualizado com sucesso!") input() except: print("Falha ao atualizar livro. Tente novamente") input()
def devolver_livro(id_loan): now = datetime.now() delivery_location = input("Informe o local onde o livro foi devolvido: ") sql = f"""UPDATE tb_loan SET status = 'DEVOLVIDO', end_date = '{now.strftime("%d/%m/%Y")}', delivery_location = '{delivery_location}' WHERE id_loan = {id_loan}""" retorno = exec_command(sql) if retorno: print("Livro devolvido com sucesso!") else: print("Falha ao devolver livro.") sql_loan = f"""SELECT id_user, id_book FROM tb_loan WHERE id_loan = {id_loan}""" new_loan = exec_select(sql_loan) id_user = new_loan[0][0] id_book = new_loan[0][1] sql_insert_loan = f"""INSERT INTO tb_loan(id_user, id_book, begin_date, coletion_location, status) VALUES({id_user}, {id_book}, null, '{delivery_location}', 'DISPONIVEL')""" result = exec_command(sql_insert_loan) return result
def pegar_novo_emprestimo(usuario, id_loan, livros): now = datetime.now() for livro in livros: if str(livro[3]) == id_loan: sql = f"""UPDATE tb_loan SET id_lender = {usuario.id}, status = 'EMPRESTADO', begin_date = '{now.strftime("%d/%m/%Y")}' WHERE id_loan = {id_loan}""" result = exec_command(sql) if result: ("Livro pego emprestado com sucesso.") input() return else: ("Falha ao pegar livro emprestado.") input() return print(f"ID {id_loan} não é valido!") input()
from bd_credentials import exec_command sql_user = "******" exec_command(sql_user)