Exemplo n.º 1
0
        ///<summary>Recebe o nome do produto a ser removido, faz a busca dele na lista de produtos cadastrados e realiza a exclusão com todas as validações necessárias.</summary>
        public static void RemoverProduto()
        {
            string           nome;
            ProdutoViewModel produto = new ProdutoViewModel();

            do
            {
                System.Console.Write("Nome do produto a ser removido: ");
                nome = Console.ReadLine();
                if (!ValidacaoUtil.ValidarNome(nome))
                {
                    Mensagem.MostrarMensagem("Digite um nome.", TipoMensagemEnum.ALERTA);
                }
            } while (!ValidacaoUtil.ValidarNome(nome));
            produto = ProdutoRepository.BuscarProdutoPorNome(nome);
            do
            {
                if (produto == null)
                {
                    Mensagem.MostrarMensagem("Este produto não existe.", TipoMensagemEnum.ALERTA);
                }
                ProdutoRepository.Remover(produto);
            } while (produto == null);
        }
Exemplo n.º 2
0
        ///<summary></summary>
        public static void AlterarProduto()
        {
            string           nome;
            ProdutoViewModel produtoASerAlterado = new ProdutoViewModel();
            ProdutoViewModel produtoJaAlterado   = new ProdutoViewModel();

            do
            {
                System.Console.Write("Nome do produto a ser alterado: ");
                nome = Console.ReadLine();
                if (!ValidacaoUtil.ValidarNome(nome))
                {
                    Mensagem.MostrarMensagem("Digite um nome de produto válido", TipoMensagemEnum.ALERTA);
                }
            } while (!ValidacaoUtil.ValidarNome(nome));
            produtoASerAlterado = ProdutoRepository.BuscarProdutoPorNome(nome);
            produtoJaAlterado   = produtoASerAlterado;
            //Mostrando dados do produto e perguntando qual informação alterar.
            bool rodar = true;

            do
            {
                Console.Clear();
                System.Console.WriteLine($"______________________________\nId: {produtoASerAlterado.Id}\nNome: {produtoASerAlterado.Nome}\nCategoria: {produtoASerAlterado.Categoria} \nDescrição: {produtoASerAlterado.Descricao}\nPreço: {produtoASerAlterado.Preco}\nData de criação: {produtoASerAlterado.DataCriacao}\n______________________________");
                MenuUtils.MostrarMenuAlterarProduto();
                MenuAlterarProduto opcao = ((MenuAlterarProduto)Enum.Parse(typeof(MenuAlterarProduto), Console.ReadLine()));
                switch (opcao)
                {
                case MenuAlterarProduto.NOME:
                    do
                    {
                        System.Console.Write("Digite um novo nome para o produto: ");
                        produtoJaAlterado.Nome = Console.ReadLine();
                        if (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Nome))
                        {
                            Mensagem.MostrarMensagem("O nome não pode ficar vazia.", TipoMensagemEnum.ALERTA);
                        }
                    } while (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Nome));
                    break;

                case MenuAlterarProduto.CATEGORIA:
                    do
                    {
                        System.Console.Write("Digite uma nova categoria para o produto: ");
                        produtoJaAlterado.Categoria = Console.ReadLine();
                        if (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Categoria))
                        {
                            Mensagem.MostrarMensagem("A categoria não pode ficar vazia", TipoMensagemEnum.ALERTA);
                        }
                    } while (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Categoria));

                    break;

                case MenuAlterarProduto.DESCRICAO:
                    do
                    {
                        System.Console.Write("Digite uma nova descrição para o produto: ");
                        produtoJaAlterado.Descricao = Console.ReadLine();
                        if (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Descricao))
                        {
                            Mensagem.MostrarMensagem("A descrição não pode ficar vazia.", TipoMensagemEnum.ALERTA);
                        }
                    } while (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Descricao));

                    break;

                case MenuAlterarProduto.PRECO:
                    do
                    {
                        System.Console.Write("Digite um novo preço para o produto (Apenas números): ");
                        string precoCapturado = Console.ReadLine();

                        if (!ValidacaoUtil.ValidarPreco(precoCapturado, produtoASerAlterado.Preco))
                        {
                            Mensagem.MostrarMensagem("Preço inválido", TipoMensagemEnum.ERRO);
                        }
                        produtoJaAlterado.Preco = float.Parse(precoCapturado);
                    } while (!ValidacaoUtil.ValidarPreco(produtoJaAlterado.Preco));
                    break;

                case MenuAlterarProduto.SAIR:
                    rodar = false;
                    break;
                }
                ProdutoRepository.Alterar(produtoASerAlterado, produtoJaAlterado);
                Mensagem.MostrarMensagem("Produto alterado com sucesso!", TipoMensagemEnum.SUCESSO);
            } while (rodar == true);
            if (produtoASerAlterado == null)
            {
                Mensagem.MostrarMensagem("O produto desejado não existe.", TipoMensagemEnum.ERRO);
            }
        }