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 !"); } } }
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); }
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); }
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); }
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(); }
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(); } } }