Example #1
0
        public static void TotalDeTributoDeImportados(Produto [] produtos, TotalizadorDeTributoProdutoImportado TTProdutoImportado)
        {
            foreach (Produto produto in produtos)
            {
                if (!(produto is ProdutoNacional)) /*verificando se o objeto não é um ProdutoNacional */
                {                                  /*caso não seja um produto nacional é realizado um casting da variavel produto*/
                    ITributoDeProdutoImportado produtoImportado = produto as ITributoDeProdutoImportado;
                    TTProdutoImportado.AcumuladorDeTributoProdutoImportado(produtoImportado);

                    /* No nosso caso apenas a  classe ProdutoNacional  não implementa a interface ITributoDeProdutoImportado, portanto os demais objetos
                     * são ITributoDeProdutoImportado por isso é feito o casting acima.*/
                }
            }
        }
Example #2
0
 public static void exibirTotalDeTributoDeImportados(TotalizadorDeTributoProdutoImportado TTProdutoImportado)
 {
     Console.WriteLine(TTProdutoImportado.AcumuladorTributoProdImportado);
 }
Example #3
0
        static void Main(string[] args)
        {
            // ExecutarCalculadora();

            // Produto pn = new ProdutoNacional(20.00, 2, 0.02);
            // Produto pi = new ProdutoImportado(50.00, 1, 0.5);
            // UpcastingDowcasting(pn, pi);

            Produto produto = null;

            Produto[] produtos = CriarArrayProdutos();
            TotalizadorDeTributoProdutoImportado TTProdutoImportado = new TotalizadorDeTributoProdutoImportado();
            int op = 0, i = 0;


            //ManipularVetores mv = new ManipularVetores();
            // mv.criarVetorInteiros();
            // mv.criarVetorDouble();
            //  mv.criarVetorString();


            do
            {
                op = Menu();
                switch (op)
                {
                case 1:
                    try
                    {
                        do
                        {
                            //p = new ProdutoNacional();
                            CadastrarProduto(produto, produtos, i);

                            Console.WriteLine("Deseja cadastrar outro produto (1-sim) (2-não) \n");
                            op = int.Parse(Console.ReadLine());
                            i++;
                        } 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:

                    break;

                case 4:


                    break;

                case 5:
                    ExibirArrayProdutos(produtos, produto);

                    break;

                case 6:
                    Console.WriteLine(" Programa encerrado ! \n");
                    break;
                }
            } while (op != 6);

            Console.Read();
        }