//Adicinar e Guardar um Produto public int AdicionarProduto(Produto.Categoria categoria, string descrição, float preço, int quantidade) { Produto novoProduto = new Produto(categoria, descrição, preço, quantidade); bool existe = false; //Ver se já existe foreach (Produto produto in stock) { if (String.Compare(novoProduto.descricao, produto.descricao) == 0) { existe = true; produto.quantidade += quantidade; } } if (existe == true) { Console.WriteLine("Produto Adicionado com Sucesso"); SaveStock(); return(1); } else { stock.Add(novoProduto); SaveStock(); return(1); } }
static void Main(string[] args) { Stock stock = new Stock(); Registos registos = new Registos(); ListaFaturas faturas = new ListaFaturas(); registos.RegistarFuncionario("Caixa", "123", "Caixa"); //Carregar os ficheiros stock.leituraStock(); registos.leituraRegistos(); faturas.leituraFaturas(); //Login Console.WriteLine("---------- LOGIN ----------"); Console.Write("\t Username : "******"\t Password : "******"\n"); //resultadoLogin = Cargo do user logado string resultadoLogin = registos.Login(username, pw); if (String.Compare("gerente", resultadoLogin, true) == 0) { startGerente: Console.Clear(); Console.WriteLine("---------- Menu -> {0} ----------", resultadoLogin); Console.WriteLine("\n1 - Adicionar Funcionário"); Console.WriteLine("2 - Apagar Funcionário"); Console.WriteLine("3 - Vender"); Console.WriteLine("0 - Logout"); string respostaMenu = Console.ReadLine(); switch (respostaMenu) { case "1": Console.Clear(); Console.Write("\t Username : "******"\t Password : "******"\t Cargo : "); string cargoNovo = Console.ReadLine(); Console.WriteLine("\n"); Console.Clear(); //RegistarFuncionario() devolve: // 0 se o utilizador já existir // 1 se o registo for aceite int resultadoRegisto = registos.RegistarFuncionario(usernameNovo, pwNova, cargoNovo); if (resultadoRegisto == 0) { Console.Clear(); Console.WriteLine("Já existe"); Console.ReadKey(); goto startGerente; } else { Console.WriteLine("Registo efetuado com sucesso"); Console.ReadKey(); goto startGerente; } break; case "2": Console.Clear(); Console.WriteLine("Insira o username do funcionario a apagar: "); string userApagar = Console.ReadLine(); //apagarFuncionarios devolve: // 1 se apagar // 0 user não existir int apagou = registos.apagarFuncionario(userApagar); if (apagou == 1) { Console.Clear(); Console.WriteLine("User apagado com sucesso"); Console.ReadKey(); goto startGerente; } else { Console.Clear(); Console.WriteLine("User não existe"); Console.ReadKey(); goto startGerente; } break; case "3": break; case "0": //Dá restart na aplicação //"Logout" var fileName = Assembly.GetExecutingAssembly().Location; System.Diagnostics.Process.Start(fileName); break; default: break; } } if (String.Compare("repositor", resultadoLogin, true) == 0) { startRepositor: Console.Clear(); Console.WriteLine("---------- Menu -> {0} ----------", resultadoLogin); Console.WriteLine("\n1 - Listar Produtos"); Console.WriteLine("2 - Adicionar Produtos"); Console.WriteLine("3 - Atualizar stock"); Console.WriteLine("4 - Remover Produtos"); Console.WriteLine("5 - Limpar Lista"); Console.WriteLine("0 - Logout"); string respostaRepositor = Console.ReadLine(); switch (respostaRepositor) { case "0": //Dá restart na aplicação //"Logout" var fileName = Assembly.GetExecutingAssembly().Location; System.Diagnostics.Process.Start(fileName); break; case "2": //AdicionarProduto //Devolve 1 se adicionar corretamente //Devolve 0 se não adicionar Console.Clear(); Console.WriteLine("Escolha a categoria:"); Console.WriteLine("1 - Congelados"); Console.WriteLine("2 - Prateleira"); Console.WriteLine("3 - Enlatados"); int escolha = int.Parse(Console.ReadLine()); Produto.Categoria categoriaa = (Produto.Categoria)escolha; Console.Clear(); Console.WriteLine("Descrição: "); string descricaoProduto = Console.ReadLine(); Console.WriteLine("Preço:"); float preço = float.Parse(Console.ReadLine()); Console.WriteLine("Quantidade a adicionar:"); int quantidade = int.Parse(Console.ReadLine()); int resultadoAdicionar = stock.AdicionarProduto(categoriaa, descricaoProduto, preço, quantidade); if (resultadoAdicionar == 1) { Console.Clear(); Console.WriteLine("Adicionado com Sucesso!"); Console.ReadKey(); goto startRepositor; } else { Console.Clear(); Console.WriteLine("Nao Adicionou!"); Console.ReadKey(); goto startRepositor; } break; case "1": Console.Clear(); stock.ListarProdutos(); Console.ReadKey(); goto startRepositor; break; case "4": Console.Clear(); Console.WriteLine("Insira o produto a apagar: "); string produtoApag = Console.ReadLine(); int x = stock.RemoverStock(produtoApag); if (x == 1) { Console.Clear(); Console.WriteLine("Produto apagado com sucesso"); Console.ReadKey(); goto startRepositor; } else { Console.Clear(); Console.WriteLine("Produto não existe"); Console.ReadKey(); goto startRepositor; } case "3": Console.Clear(); Console.WriteLine("Insira o produto a atualizar: "); string produtoAtualizar = Console.ReadLine(); Console.WriteLine("Insira a quantidade a atualizar: +/- quantidade"); string quantiAtualizar = Console.ReadLine(); int novaQuantidade = stock.AtualizarStock(produtoAtualizar, quantiAtualizar); Console.Clear(); if (novaQuantidade > 0) { Console.WriteLine("Stock atualizado com sucesso!\nO seu produto tem agora {0} unidades", novaQuantidade); Console.ReadKey(); } else { Console.WriteLine("Impossivel"); Console.ReadKey(); } goto startRepositor; default: break; } } if (String.Compare("caixa", resultadoLogin, true) == 0) { startCaixa: Console.Clear(); Console.WriteLine("Insira o nome do cliente:"); string nomeCliente = Console.ReadLine(); Console.Clear(); string descProduto = ""; List <Produto> listaProdutosVendidos = new List <Produto>(); float preçoTotal = 0; ArrayList arrayQuantidades = new ArrayList(); do { stock.ListarProdutos(); Console.WriteLine("\n\nInsira a descrição do produto a adicionar"); descProduto = Console.ReadLine(); if (descProduto == "0") { break; } else { Console.WriteLine("Insira a quantidade do produto a adicionar:"); int quantidade = int.Parse(Console.ReadLine()); arrayQuantidades.Add(quantidade); stock.venderProduto(descProduto, quantidade); Console.Clear(); listaProdutosVendidos.Add(stock.getProduto(descProduto)); preçoTotal += stock.getProduto(descProduto).preço *quantidade; } } while (descProduto != "0"); faturas.RegistarFatura(username, nomeCliente, preçoTotal, listaProdutosVendidos, arrayQuantidades); faturas.SaveFaturas(); Console.Clear(); Fatura faturaNova = new Fatura(); faturaNova = faturas.GetFatura(username, nomeCliente, preçoTotal, listaProdutosVendidos); Console.WriteLine(faturaNova.ToString()); Console.ReadKey(); goto startCaixa; } else { Console.Clear(); Console.WriteLine(resultadoLogin); Console.ReadKey(); } }