def cadastrarVenda(self, nomeProduto, vendedor, comprador, quantidadeVendida): x = DaoEstoque.ler() temp = [] quantidade = False existe = False for i in x: if existe == False: if i.produto.nome == nomeProduto: existe = True if i.quantidade >= quantidadeVendida: quantidade = True i.quantidade = int(i.quantidade) - int(quantidadeVendida) vendido = Venda(Produto(i.produto.nome, i.produto.preco, i.produto.categoria), vendedor, comprador, quantidadeVendida) valorCompra = int(quantidadeVendida) * int(i.produto.preco) DaoVenda.salvar(vendido) temp.append([Produto(i.produto.nome, i.produto.preco, i.produto.categoria), i.quantidade]) arq = open('estoque.txt', 'w') arq.write("") for i in temp: with open('estoque.txt', 'a') as arq: arq.writelines(i[0].nome + "|" + i[0].preco + "|" + i[0].categoria + "|" + str(i[1])) arq.writelines('\n') if existe == False: print("O produto nao existe") return None elif not quantidade: print('A quantidade vendida nao contem no estoque') return None else: return valorCompra
def alterarCategoria(self, categoriaAlterar, categoriaAlterada): x = DaoCategoria.ler() estoque = DaoEstoque.ler() cat = list(filter(lambda x: x.categoria == categoriaAlterar, x)) if len(cat) > 0: cat1 = list(filter(lambda x: x.categoria == categoriaAlterada, x)) if len(cat1) == 0: try: x = list(map(lambda x: Categoria(categoriaAlterada) if(x.categoria == categoriaAlterar) else(x), x)) estoque = list(map(lambda x: Estoque(Produto(x.produto.nome, x.produto.preco, categoriaAlterada), x.quantidade) if (x.produto.categoria == categoriaAlterar) else(x),estoque)) with open('estoque.txt', 'w') as arq: for i in estoque: arq.writelines( i.produto.nome + "|" + i.produto.preco + "|" + i.produto.categoria + "|" + str(i.quantidade)) arq.writelines('\n') print('Categoria alterada com sucesso') except: print('Erro') else: print('A categoria para qual está alterando já existe') else: print('A categoria que deseja alterar não existe') with open('categoria.txt', 'w') as arq: for i in x: arq.writelines(i.categoria) arq.writelines('\n')
def removerCategoria(self, categoriaRemover): x = DaoCategoria.ler() print("") cat = list(filter(lambda x: x.categoria == categoriaRemover, x)) if len(cat) <= 0: print('A categoria que deseja remover não existe') else: for i in range(len(x)): if x[i].categoria == categoriaRemover: del x[i] break print('categoria removida com sucesso') with open('categoria.txt', 'w') as arq: for i in x: arq.writelines(i.categoria) arq.writelines('\n') #TODO: colocar sem categoria nos produtos com a categoriaRemover estoque = DaoEstoque.ler() estoque = list(map(lambda x: Estoque(Produto(x.produto.nome, x.produto.preco, "sem categoria"), x.quantidade) if(x.produto.categoria == categoriaRemover) else(x) ,estoque)) with open('estoque.txt', 'w') as arq: for i in estoque: arq.writelines(i.produto.nome + "|" + i.produto.preco + "|" + i.produto.categoria + "|" + str(i.quantidade)) arq.writelines('\n')
def ler(cls): with open('estoque.txt', 'r') as arq: cls.estoque = arq.readlines() cls.estoque = list(map(lambda x: x.replace('\n', ''), cls.estoque)) cls.estoque = list(map(lambda x: x.split('|'), cls.estoque)) est = [] if len(cls.estoque) > 0: for i in cls.estoque: est.append(Estoque(Produto(i[0], i[1], i[2]), i[3])) return est
def ler(cls): with open('venda.txt', 'r') as arq: cls.venda = arq.readlines() cls.venda = list(map(lambda x: x.replace('\n', ''), cls.venda)) cls.venda = list(map(lambda x: x.split('|'), cls.venda)) vend = [] for i in cls.venda: vend.append( Venda(Produto(i[0], i[1], i[2]), i[3], i[4], i[5], i[6])) return vend
def cadastrarProduto(self, nome, preco, categoria, quantidade): x = DaoEstoque.ler() y = DaoCategoria.ler() h = list(filter(lambda x: x.categoria == categoria, y)) est = list(filter(lambda x: x.produto.nome == nome, x)) if len(h)>0: if len(est) == 0: produto = Produto(nome,preco, categoria) DaoEstoque.salvar(produto, quantidade) print('Produto cadastrado com sucesso') else: print('Produto já existe em estoque') else: print('Categoria inexistente')
def alterarProduto(self, nomeAlterar, novoNome, novoPreco, novaCategoria, novaQuantidade): x = DaoEstoque.ler() y = DaoCategoria.ler() h = list(filter(lambda x: x.categoria == novaCategoria, y)) if len(h) > 0: est = list(filter(lambda x: x.produto.nome == nomeAlterar, x)) if len(est) > 0: est = list(filter(lambda x: x.produto.nome == novoNome, x)) if len(est) == 0: x = list(map(lambda x: Estoque(Produto(novoNome, novoPreco, novaCategoria), novaQuantidade) if(x.produto.nome == nomeAlterar) else(x),x)) else: print('Produto já cadastrado') else: print('O produto que deseja alterar não existe') with open('estoque.txt', 'w') as arq: for i in x: arq.writelines(i.produto.nome + "|" + i.produto.preco + "|" + i.produto.categoria + "|" + str(i.quantidade)) arq.writelines('\n') print('produto alterado com sucesso') else: print("A categoria informada não existente")