コード例 #1
0
        static void ExibirRelatorio(GerenciarProdutos gp)
        {
            Console.WriteLine(" Deseja exibir relatorio de (1-Lista simples) (2-Lista Duplamente Vinculada) (3- Fila): \n");
            int op = int.Parse(Console.ReadLine());

            if (op == 1)
            {
                ExibirColecao(gp.RetornarListaSimples());

                //Console.WriteLine(" Lista simples vazia !");
            }
            else
            {
                if (op == 2)
                {
                    ExibirColecao(gp.RetornarListaDuplamenteVinculada());
                    //Console.WriteLine(" Lista duplamente vinculada vazia !");
                }
                else
                {
                    ExibirFila(gp.RetornarFila());

                    //Console.WriteLine(" Fila vazia !");
                }
            }
        }
コード例 #2
0
 public static void AdicionarProduto(Produto produto, GerenciarProdutos gerenciarProdutos)
 {
     Console.WriteLine(" Entre com a quantidade que será adicionada ao estoque : \n");
     produto.AdicionarProdutos(int.Parse(Console.ReadLine()));
     //MostrarProduto(p);
     ExibirProduto(produto);
 }
コード例 #3
0
 public static void InserirProduto(Produto produto, GerenciarProdutos gp)
 {
     Console.WriteLine(" Deseja inserir o tipo de Produto (1-Lista simples) (2-Lista Duplamente Vinculada) (3- Fila): \n");
     gp.InserirTipoDeProduto(produto, int.Parse(Console.ReadLine()));
     //MostrarProduto(p);
     //ExibirProduto(produto);
 }
コード例 #4
0
        public static void CadastrarProduto(Produto produto, GerenciarProdutos gp)
        {
            Console.WriteLine(" Cadastrar Produto (1- Nacional) ou (2- Importado) (3- Importado Chines)\n");
            int opcao = int.Parse(Console.ReadLine());

            Console.WriteLine(" Entre com os dados do Produto \n");

            Console.WriteLine(" Entre com o preço do produto :");
            decimal preco = decimal.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

            // p.SetPreco(Double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture));

            Console.WriteLine(" Entre com a quantidade do estoque do produto :");
            int qtdEstoque = int.Parse(Console.ReadLine());

            //p.SetQtdEmEstoque(int.Parse(Console.ReadLine()));

            if (opcao == 1)
            {
                Console.WriteLine(" Entre com o valor da taxa de imposto(%) do produto nacional :");
                decimal impostoNacional = decimal.Parse(Console.ReadLine());

                produto = new ProdutoNacional(preco, qtdEstoque, impostoNacional);
            }
            else
            {
                if (opcao == 2)
                {
                    Console.WriteLine(" Entre com o valor da taxa de imposto(%) do produto importado :");
                    decimal impostoImportado = decimal.Parse(Console.ReadLine());


                    produto = new ProdutoImportado(preco, qtdEstoque, impostoImportado);
                }
                else
                {
                    Console.WriteLine(" Entre com o valor da taxa de imposto(%) do produto importado Chines :");
                    decimal impostoImportadoChines = decimal.Parse(Console.ReadLine());



                    produto = new ProdutoImportadoChines(preco, qtdEstoque, impostoImportadoChines);
                }
            }

            Console.WriteLine(" Entre com o nome do produto :");
            produto.Nome = Console.ReadLine();


            //MostrarProduto(p);
            ExibirProduto(produto);
            InserirProduto(produto, gp);
            //AdicionarProduto(produto);
            // RemoverProduto(p);
        }
コード例 #5
0
        static void Main(string[] args)
        {
            //OrdenarColecao.ListaString();
            GerenciarProdutos gp      = new GerenciarProdutos();
            Produto           produto = null;
            TotalizadorDeTributoProdutoImportado TTProdutoImportado = null;
            int op = 0, i = 0;


            do
            {
                op = Menu();
                switch (op)
                {
                case 1:
                    try
                    {
                        do
                        {
                            CadastrarProduto(produto, gp);

                            Console.WriteLine("Deseja cadastrar outro produto (1-sim) (2-não) \n");
                            op = int.Parse(Console.ReadLine());
                        } while (op != 2);

                        // ExibirArrayProdutos(produtos, produto);
                    }
                    catch (ArgumentNullException e)
                    {
                        Console.WriteLine(e.Message);
                    }
                    catch (ArgumentException e)
                    {
                        Console.WriteLine(e.Message);
                    }
                    catch (IndexOutOfRangeException e)
                    {
                        Console.WriteLine(e.Message);
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                    }


                    break;

                case 2:

                    // TotalDeTributoDeImportados(produtos,TTProdutoImportado);
                    exibirTotalDeTributoDeImportados(TTProdutoImportado);


                    break;

                case 3:
                    OrdenarColecao(gp);
                    break;

                case 4:


                    break;

                case 5:
                    try
                    {
                        ExibirRelatorio(gp);
                    }
                    catch (ColecaoVaziaException e)
                    {
                        Console.WriteLine(e.Mensagem);
                    }

                    break;

                case 6:

                    Console.WriteLine(" Total de tipos de produtos criados : " + Produto.ControleDeTiposProdutos);
                    exibirTotalDeTributoDeImportados(TTProdutoImportado);
                    Console.WriteLine(" Programa encerrado ! \n");
                    break;
                }
            } while (op != 6);

            Console.Read();
        }
コード例 #6
0
        static void OrdenarColecao(GerenciarProdutos gp)
        {
            Console.WriteLine(" Deseja Ordenar (1-Lista simples) (2-Lista Duplamente Vinculada) (3- Fila): \n");
            int op = int.Parse(Console.ReadLine());

            if (op == 1)
            {
                List <Produto> listaSimples = gp.RetornarListaSimples();
                op = OpcaoOrdenacao();
                if (op == 1)
                {
                    listaSimples.Sort();
                    MostrarColecao(listaSimples);
                }
                else
                {
                    if (op == 2)
                    {
                        listaSimples.Sort(new OrdenarColecaoPeloPreco());
                        MostrarColecao(listaSimples);

                        /*O método de ordenação Sort atraves da instancia da classe  OrdenarColecaoPeloPreco
                         * acessa o método  Compare(Produto produtoAtual, Produto produtoOutro) que recebe dois objetos
                         * que serão comparados. O proprio método Sort passa esses dois objetos que serão comparados da lista.*/
                    }
                    else
                    {
                        listaSimples.Sort(new OrdenarColecaoPelaQuantidade1());
                        MostrarColecao(listaSimples);

                        /*
                         * O método de ordenação Sort(IComparer<Produto> comparer) recebe um objeto do tipo IComparer<Produto>
                         * a variavel comparer pode fazer referencia a um objeto da classe OrdenarColecaoPelaQuantidade1 com uso de
                         * polimorfismo uma vez que essa classe implementa a interface IComparer<> e obrigatoriamente implementou o
                         * método Compare().
                         */
                    }
                }
            }
            else
            {
                if (op == 2)
                {
                    Console.WriteLine(" Ordenar Lista Duplamente Vinculada \n");

                    op = OpcaoOrdenacao();
                    if (op == 1)
                    {
                        LinkedList <Produto> listaDuplamenteVinculada = gp.RetornarListaDuplamenteVinculada();
                        //listaDuplamenteVinculada.
                    }
                    else
                    {
                    }
                }
                else
                {
                    op = OpcaoOrdenacao();
                }
            }
        }