Dictionary<string, List> produtos = new Dictionary<string, List>();
produtos.Add("Açucar", new List { 122 }); produtos.Add("Arroz", new List { 12 }); produtos.Add("Feijão", new List { 30 }); produtos.Add("Azeite", new List { 10 });
void ExibirMenu() { Console.Clear(); Console.WriteLine("\n███╗░░░███╗███████╗██████╗░░█████╗░░█████╗░██████╗░██╗███╗░░██╗██╗░░██╗░█████╗░\n████╗░████║██╔════╝██╔══██╗██╔══██╗██╔══██╗██╔══██╗██║████╗░██║██║░░██║██╔══██╗\n██╔████╔██║█████╗░░██████╔╝██║░░╚═╝███████║██║░░██║██║██╔██╗██║███████║██║░░██║\n██║╚██╔╝██║██╔══╝░░██╔══██╗██║░░██╗██╔══██║██║░░██║██║██║╚████║██╔══██║██║░░██║\n██║░╚═╝░██║███████╗██║░░██║╚█████╔╝██║░░██║██████╔╝██║██║░╚███║██║░░██║╚█████╔╝\n╚═╝░░░░░╚═╝╚══════╝╚═╝░░╚═╝░╚════╝░╚═╝░░╚═╝╚═════╝░╚═╝╚═╝░░╚══╝╚═╝░░╚═╝░╚════╝░"); Console.WriteLine("\nEscolha uma das opções:\n"); Console.WriteLine("1 - Ver Lista de Produtos"); Console.WriteLine("2 - Adicionar Produtos"); Console.WriteLine("3 - Pegar um produto"); Console.WriteLine("4 - Remover um produto do estoque?"); Console.WriteLine("\n**************************");
Console.Write("\nQual opção você deseja? ");
int opcaoDigitada = int.Parse(Console.ReadLine()!);
switch (opcaoDigitada)
{
case 1:
ExibirListaDeProdutos(false);
break;
case 2:
AdicionarUmProduto();
break;
case 3:
PegarUmProduto();
break;
case 4:
RemoverUmProduto();
break;
}
};
void ExibirListaDeProdutos(Boolean pegarProduto) { Console.Clear(); if (pegarProduto) { Console.WriteLine("--------------- Lista de Produto ---------------\n"); foreach (KeyValuePair<string, List> produto in produtos) { List qtdProdutos = produto.Value; foreach (int qtd in qtdProdutos) { Console.WriteLine($"Produto: {produto.Key} -- Qtd: {qtd}");}} }else{ Console.WriteLine("--------------- Lista de Produto ---------------\n"); foreach (KeyValuePair<string, List> produto in produtos) {List qtdProdutos = produto.Value; foreach (int qtd in qtdProdutos) {Console.WriteLine($"Produto: {produto.Key} -- Qtd: {qtd}");}} Console.WriteLine("\nPara voltar digite qualquer tecla:"); Console.ReadKey(); Console.Clear(); ExibirMenu();}} void AdicionarUmProduto() {Console.Write("Por favor digite o nome do produto que deseja adicionar: ");string nomeNovoProduto = Console.ReadLine()!;if (produtos.ContainsKey(nomeNovoProduto)){Console.WriteLine("Desculpe mas este produto já existe em estoque :("); }else{Console.Write("\nCerto! Agora digite a quantidade de entrada: ");int quantidaNovoProduto = int.Parse(Console.ReadLine()!); produtos.Add(nomeNovoProduto, new List { quantidaNovoProduto }); Console.WriteLine("Lista de produtos atualizada!!");} Thread.Sleep(2000); Console.Clear(); ExibirMenu();} void PegarUmProduto(){ Console.Clear(); ExibirListaDeProdutos(true); Console.Write("\nPor favor, digite o nome do produto que deseja pegar:"); string nomeProdutoSelecionado = Console.ReadLine()!; Console.WriteLine(""); if (produtos.ContainsKey(nomeProdutoSelecionado)) { Console.Write("\nDigite a quantidade:"); int quantidadeProdutoSelecionado = int.Parse(Console.ReadLine()!);
if (quantidadeProdutoSelecionado <= produtos[nomeProdutoSelecionado][0])
{
produtos[nomeProdutoSelecionado][0] = produtos[nomeProdutoSelecionado][0] - quantidadeProdutoSelecionado;
Console.WriteLine("\nQuantidade em estoque atualizada!");
Thread.Sleep(2000);
ExibirMenu();
}
else
{
Console.WriteLine("\nDesculpe mas parece, que você está tentando retirar, uma quantidade que não temos em estoque. :(");
Thread.Sleep(2000);
ExibirMenu();
}
}
else
{
Console.WriteLine("Desculpe mas não encontramos este produto em nosso estoque, mas não se preocupe, vou te levar de volta para o menu:");
Thread.Sleep(2000);
ExibirMenu();
}
} void RemoverUmProduto(){ Console.Clear(); ExibirListaDeProdutos(true); Console.Write("\nPor favor digite o nome do produto que você deseja remover do estoque:"); string nomeProdutoASerRemovido = Console.ReadLine()!; if (produtos.ContainsKey(nomeProdutoASerRemovido)){ produtos.Remove(nomeProdutoASerRemovido); Console.WriteLine("\nProduto Removido com sucesso!"); Thread.Sleep(2000); ExibirMenu();} else{ Console.WriteLine("Desculpe mas não encontramos este produto em nosso estoque, mas não se preocupe, vou te levar de volta para o menu:"); Thread.Sleep(2000); ExibirMenu();}}ExibirMenu();