def __init__(self, id, id_emprestimo, id_equipamento, id_usuario,
                 dtSolicitacao, dtEmprestimo, dtDevolucao, status, nome,
                 numeroMatricula, departamento, email, telefone,
                 numeroEquipamento, marca, modelo, situacao):
        self.id = id
        self.id_emprestimo = id_emprestimo
        self.id_equipamento = id_equipamento

        Emprestimo.__init__(self, id, id_usuario, dtSolicitacao, dtEmprestimo,
                            dtDevolucao, status, nome, numeroMatricula,
                            departamento, email, telefone)
        Equipamento.__init__(self, id, numeroEquipamento, marca, modelo,
                             situacao)
def consultar(numeroEquipamento):
    with closing(con()) as connection, closing(connection.cursor()) as cursor:
        cursor.execute(f"SELECT * FROM {model_name} WHERE numeroEquipamento = ?", (numeroEquipamento,))
        row = cursor.fetchone()
        if row == None:
            return None
        return Equipamento.criar({"id":row[0], "numeroEquipamento": row[1], "marca": row[2], "modelo": row[3], "situacao": row[4]})
def listar():
    with closing(con()) as connection, closing(connection.cursor()) as cursor:
        cursor.execute(f"SELECT * FROM {model_name}")
        rows = cursor.fetchall()
        registros = []
        for (id, numeroEquipamento, marca, modelo, situacao) in rows:
            registros.append(Equipamento.criar({"id":id, "numeroEquipamento": numeroEquipamento, "marca": marca, "modelo": modelo, "situacao": situacao}))
        return registros
def atualizar(numeroEquipamento, marca, modelo, situacao):
    equipamento = Equipamento.criar({
        "id": "",
        "numeroEquipamento": numeroEquipamento,
        "marca": marca,
        "modelo": modelo,
        "situacao": situacao
    })
    dao_alterar(equipamento)
    return localizar(numeroEquipamento)
def remover(numeroEquipamento):
    dados_equipamento = localizar(numeroEquipamento)
    if dados_equipamento == None:
        return 0
    dao_remover(Equipamento.criar(dados_equipamento[0]))
    return 1
def criar(equipamento_data):
    if equipamento_data != None:
        equipamento = Equipamento.criar(equipamento_data)
        return dao_cadastrar(equipamento)
    return None
def listar():
    return [Equipamento.dictEquipamento() for Equipamento in dao_listar()]