Beispiel #1
0
        private static void MenuBuscarProduto()
        {
            Console.Clear();
            UI_CSNHelper.ExibirTexto("Digite o nome (ou parte do nome) do produto a ser pesquisado e pressione [ENTER].\n" +
                                     "Para retornar ao menu principal deixe o nome em branco e pressione [ENTER].");

            string nome = UI_CSNHelper.ModoEdicao();

            if (nome != "")
            {
                var produtos = produtoView.BuscarProdutoParteNome(nome).ToArray();

                if (produtos.Length == 0)
                {
                    Console.WriteLine($"Nenhum produto encontrado com essa descrição! {prosseguir}");
                    Console.ReadKey();
                    MenuBuscarProduto();
                    return;
                }
                else if (produtos.Length == 1)
                {
                    ProdutoCadastro prod = new ProdutoCadastro()
                    {
                        Nome             = produtos[0].Nome,
                        GUID             = produtos[0].GUID,
                        LocalArmazenagem = produtos[0].LocalArmazenagem,
                        Quantidade       = produtos[0].Quantidade,
                    };
                    MenuCarregaProduto(prod);
                }
                else if (produtos.Length > 1)
                {
                    List <string> opcoes = new List <string>();

                    foreach (var p in produtos)
                    {
                        opcoes.Add(p.Nome);
                    }

                    var opcao = UI_CSNHelper.ExibirMenu(opcoes.ToArray(), 0, true);

                    var key = opcao;

                    //if (key < produtos.Length && key == -1)
                    //{
                    //    MenuBuscarProduto();
                    //    return;
                    //}
                    var produto = produtoView.BuscarProduto(produtos[opcao].Nome.ToString());
                    MenuCarregaProduto(produto);
                }
            }
            else
            {
                MenuPrincipal();
                return;
            }
        }
Beispiel #2
0
        private static void MenuCadastrarProduto()
        {
            Console.Clear();
            UI_CSNHelper.ExibirTexto("Nome do produto:");

            Console.SetCursorPosition(0, 2);
            UI_CSNHelper.ExibirTexto("ID do produto (Será atribuído automaticamente pelo sistema):");

            Console.SetCursorPosition(0, 4);
            UI_CSNHelper.ExibirTexto("Local de armazenagem:");

            Console.SetCursorPosition(0, 6);
            UI_CSNHelper.ExibirTexto("Quantidade:");

            Console.SetCursorPosition(0, 15);
            UI_CSNHelper.ExibirTexto("Pressione [F2] para liberar a digitação e [ENTER] para confirmar!");
            UI_CSNHelper.ExibirTexto("Pressione [F5] para salvar!");
            UI_CSNHelper.ExibirTexto("Pressione ESC para sair!");
            UI_CSNHelper.ExibirTexto("Use as setas para cima e para baixo para navegar entre os campos!");

            Console.SetCursorPosition(0, 1);

            string nomeProduto      = "";
            string localArmazenagem = "";
            string qtdeEstoque      = "";

            if (temp_Nome != "")
            {
                nomeProduto = temp_Nome;
                Console.SetCursorPosition(0, 1);
                Console.Write(nomeProduto);
                temp_Nome = "";
            }
            if (temp_Local != "")
            {
                localArmazenagem = temp_Local;
                Console.SetCursorPosition(0, 5);
                Console.Write(localArmazenagem);
                temp_Local = "";
            }
            if (temp_Qtde != "")
            {
                qtdeEstoque = temp_Qtde;
                Console.SetCursorPosition(0, 7);
                Console.Write(qtdeEstoque);
                temp_Qtde = "";
            }

            int pos = 1;

            while (true)
            {
                if (pos == 1)
                {
                    Console.SetCursorPosition(0, 1);
                }
                if (pos == 2)
                {
                    Console.SetCursorPosition(0, 3);
                }
                if (pos == 3)
                {
                    Console.SetCursorPosition(0, 5);
                }
                if (pos == 4)
                {
                    Console.SetCursorPosition(0, 7);
                }

                var key = Console.ReadKey(true);

                if (key.Key == ConsoleKey.UpArrow && pos > 1)
                {
                    pos--;
                }
                if (key.Key == ConsoleKey.DownArrow && pos < 4)
                {
                    pos++;
                }

                if (key.Key == ConsoleKey.Escape)
                {
                    temp_Nome  = nomeProduto;
                    temp_Local = localArmazenagem;
                    temp_Qtde  = qtdeEstoque;

                    var opcao = UI_CSNHelper.ExibirMenu(new string[] { "Sair sem salvar",
                                                                       "Continuar editando" }, 0, true);
                    if (opcao == 0)
                    {
                        temp_Nome  = "";
                        temp_Local = "";
                        temp_Qtde  = "";
                        MenuPrincipal();

                        return;
                    }
                    else if (opcao == 1)
                    {
                        MenuCadastrarProduto();
                    }
                }

                if (key.Key == ConsoleKey.F2)
                {
                    if (pos == 1)
                    {
                        nomeProduto = UI_CSNHelper.ModoEdicao();
                        pos++;
                    }
                    else if (pos == 3)
                    {
                        localArmazenagem = UI_CSNHelper.ModoEdicao();
                        pos++;
                    }
                    else if (pos == 4)
                    {
                        qtdeEstoque = UI_CSNHelper.ModoEdicao();

                        if (!decimal.TryParse(qtdeEstoque, out _))
                        {
                            Console.SetCursorPosition(0, 7);
                            Console.Write("Valor digitado não é número!");
                            qtdeEstoque = "";
                            Console.SetCursorPosition(0, 7);
                        }
                    }
                }

                if (key.Key == ConsoleKey.F5)
                {
                    if (nomeProduto == "")
                    {
                        Console.SetCursorPosition(0, 1);
                        Console.BackgroundColor = ConsoleColor.Red;
                        Console.ForegroundColor = ConsoleColor.Black;
                        Console.Write("Campo obrigatório!");
                        Console.ResetColor();
                    }
                    if (localArmazenagem == "")
                    {
                        Console.SetCursorPosition(0, 5);
                        Console.BackgroundColor = ConsoleColor.Red;
                        Console.ForegroundColor = ConsoleColor.Black;
                        Console.Write("Campo obrigatório!");
                        Console.ResetColor();
                    }
                    if (qtdeEstoque == "")
                    {
                        Console.SetCursorPosition(0, 7);
                        Console.Write(new string(' ', Console.WindowWidth));
                        Console.BackgroundColor = ConsoleColor.Red;
                        Console.ForegroundColor = ConsoleColor.Black;
                        Console.SetCursorPosition(0, 7);
                        Console.Write("Campo obrigatório!");
                        Console.ResetColor();
                    }
                    if (nomeProduto != "" && localArmazenagem != "" && qtdeEstoque != "")
                    {
                        var opcao = UI_CSNHelper.ExibirMenu(new string[] { "Gravar e sair",
                                                                           "Gravar e inserir novo",
                                                                           "Continuar editando" }, 0, true);
                        temp_Nome  = nomeProduto;
                        temp_Local = localArmazenagem;
                        temp_Qtde  = qtdeEstoque;

                        if (opcao == 0)
                        {
                            var produto = new ProdutoCadastro()
                            {
                                Nome             = nomeProduto.ToUpper(),
                                GUID             = Guid.NewGuid(),
                                LocalArmazenagem = localArmazenagem.ToUpper(),
                                Quantidade       = Convert.ToDecimal(qtdeEstoque),
                            };

                            produtoView.CadastrarAlterarProduto(produto);
                            temp_Nome  = "";
                            temp_Local = "";
                            temp_Qtde  = "";
                            MenuPrincipal();
                            return;
                        }
                        else if (opcao == 1)
                        {
                            var produto = new ProdutoCadastro()
                            {
                                Nome             = nomeProduto.ToUpper(),
                                GUID             = Guid.NewGuid(),
                                LocalArmazenagem = localArmazenagem.ToUpper(),
                                Quantidade       = Convert.ToDecimal(qtdeEstoque),
                            };
                            produtoView.CadastrarAlterarProduto(produto);

                            temp_Nome  = "";
                            temp_Local = "";
                            temp_Qtde  = "";
                            MenuCadastrarProduto();
                            return;
                        }
                        else if (opcao == 2)
                        {
                            MenuCadastrarProduto();
                            return;
                        }
                    }
                }
            }
        }
Beispiel #3
0
        private static void MenuCarregaProduto(ProdutoCadastro produto)
        {
            Console.Clear();
            UI_CSNHelper.ExibirTexto("Nome do produto:");
            Console.WriteLine($"{produto.Nome}");

            UI_CSNHelper.ExibirTexto("Identificador único:");
            Console.WriteLine($"{produto.GUID}");

            UI_CSNHelper.ExibirTexto("Local de armazenagem:");
            Console.WriteLine($"{produto.LocalArmazenagem}");

            UI_CSNHelper.ExibirTexto("Quantidade:");
            Console.WriteLine($"{produto.Quantidade}");

            var opcao = UI_CSNHelper.ExibirMenu(new string[] { "Alterar nome do produto",
                                                               "Alterar quantidade do produto",
                                                               "Sair" }, Console.CursorTop, false);

            if (opcao == 0)
            {
                Console.Clear();
                UI_CSNHelper.ExibirTexto("Digite o novo nome do produto:");
                string novoNome = UI_CSNHelper.ModoEdicao();

                if (novoNome == "")
                {
                    Console.WriteLine($"Nome informado em branco! Operação anulada. {prosseguir}");
                    Console.ReadKey();
                    MenuCarregaProduto(produto);
                    return;
                }
                else
                {
                    produto.Nome = novoNome.ToUpper();

                    produtoView.CadastrarAlterarProduto(produto);

                    MenuCarregaProduto(produto);
                }
            }
            else if (opcao == 1)
            {
                Console.Clear();
                UI_CSNHelper.ExibirTexto("Digite a nova quantidade do produto:");
                string novaQuantidade = UI_CSNHelper.ModoEdicao();

                if (novaQuantidade == "")
                {
                    Console.WriteLine($"Quantidade não informada! Operação anulada. {prosseguir}");
                    Console.ReadKey();
                    MenuCarregaProduto(produto);
                    return;
                }
                else
                {
                    if (!decimal.TryParse(novaQuantidade, out _))
                    {
                        Console.SetCursorPosition(0, 1);
                        Console.Write($"Valor digitado não é número! {prosseguir}");
                        Console.ReadKey();
                        novaQuantidade = "";
                        MenuCarregaProduto(produto);
                    }
                    else
                    {
                        produto.Quantidade = Convert.ToDecimal(novaQuantidade);

                        produtoView.CadastrarAlterarProduto(produto);

                        MenuCarregaProduto(produto);
                    }
                }
            }
            else if (opcao == 2)
            {
                MenuPrincipal();
            }
            else
            {
                MenuCarregaProduto(produto);
            }
        }