Example #1
0
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }
            Loja objAsPart = obj as Loja;

            if (objAsPart == null)
            {
                return(false);
            }
            else
            {
                return(Equals(objAsPart));
            }
        }
        private static Loja InlcuirProduto()
        {
            Loja loja = new Loja();

            Console.WriteLine("\nCadastro de Produto");
            Console.Write("Id: #");
            loja.Id = int.Parse(Console.ReadLine());
            Console.Write("Produto: ");
            loja.Produto = Console.ReadLine();
            Console.Write("Preço: ");
            loja.Preco = double.Parse(Console.ReadLine());
            Console.Write("imposto: ");
            loja.Imposto = float.Parse(Console.ReadLine());
            Console.Write("Data: ");
            loja.Data = Console.ReadLine();


            return(loja);
        }
        static void Main(string[] args)
        {
            Boolean exec = true;

            //List<Loja> ListaLoja = new List<Loja>();
            do
            {
                Console.WriteLine("\nMenu de Cadastro");
                Console.WriteLine("Total de produtos cadastrados:{0}", ListaLoja.Count);
                Console.WriteLine("01 - Incluir");
                Console.WriteLine("02 - Alterar");
                Console.WriteLine("03 - Excluir");
                Console.WriteLine("04 - Listar");
                Console.WriteLine("05 - Pesquisar");
                Console.WriteLine("09 - Sair");
                Console.Write("Digite a opção desejada: ");
                string opc = Console.ReadLine();

                switch (opc)
                {
                case "01": ListaLoja.Add(InlcuirProduto());
                    break;

                case "02":
                    Console.WriteLine("\nAlterar dados do produto");
                    Console.WriteLine("Lista de produtos cadastrados até o momento: ");
                    foreach (Loja obj in ListaLoja)
                    {
                        Console.WriteLine(obj);
                    }
                    Console.Write("\nDigite o Id do produto que deseja alterar:#");
                    int  searchId = int.Parse(Console.ReadLine());
                    Loja busca    = ListaLoja.Find(x => x.Id == searchId);

                    if (busca != null)
                    {
                        Console.WriteLine("O que gostaria de alterar: ");
                        Console.WriteLine("01 - Id");
                        Console.WriteLine("02 - Produto");
                        Console.WriteLine("03 - Preço(porcentagem)");
                        Console.WriteLine("04 - Imposto");
                        Console.WriteLine("05 - Data\n");
                        string opcAlt = Console.ReadLine();

                        switch (opcAlt)
                        {
                        case "01":
                            if (busca != null)
                            {
                                Console.Write("Digite o novo id do produto: ");
                                int newidProd = int.Parse(Console.ReadLine());
                                busca.AlteraId(newidProd);
                                Console.WriteLine("Lista de produtos atualizada: ");
                                foreach (Loja obj in ListaLoja)
                                {
                                    Console.WriteLine(obj);
                                }
                            }
                            break;

                        case "02":
                            if (busca != null)
                            {
                                Console.Write("Digite o novo nome do produto: ");
                                string newtextProd = Console.ReadLine();
                                busca.AlteraNomeProd(newtextProd);
                                Console.WriteLine("Lista de produtos atualizada: ");
                                foreach (Loja obj in ListaLoja)
                                {
                                    Console.WriteLine(obj);
                                }
                            }
                            break;

                        case "03":
                            if (busca != null)
                            {
                                Console.Write("Digite a porcetagem que deseja aumentar:%");
                                double porcentagem = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);
                                busca.AlterarProduto(porcentagem);
                                Console.WriteLine();
                                Console.WriteLine("Lista de produtos atualizada: ");
                                foreach (Loja obj in ListaLoja)
                                {
                                    Console.WriteLine(obj);
                                }
                            }
                            break;

                        case "04":
                            if (busca != null)
                            {
                                Console.Write("Digite o novo imposto do produto: ");
                                float newimposProd = float.Parse(Console.ReadLine());
                                busca.AlterarImposto(newimposProd);
                                Console.WriteLine("Lista de produtos atualizada: ");
                                foreach (Loja obj in ListaLoja)
                                {
                                    Console.WriteLine(obj);
                                }
                            }
                            break;

                        case "05":
                            if (busca != null)
                            {
                                Console.Write("Digite o nova data do produto: ");
                                string newdataprod = Console.ReadLine();
                                busca.AlterarData(newdataprod);
                                Console.WriteLine("Lista de produtos atualizada: ");
                                foreach (Loja obj in ListaLoja)
                                {
                                    Console.WriteLine(obj);
                                }
                            }
                            break;

                        default:
                            Console.WriteLine("Opção não existente!!");
                            break;
                        }
                    }
                    else
                    {
                        Console.Write("Id do produto não existente!!\n");
                    }

                    break;

                case "03":
                    foreach (Loja cadastrados in ListaLoja)
                    {
                        Console.WriteLine(cadastrados);
                    }
                    Console.Write("\nQual o Id do produto a ser excluído:#");
                    int  index  = int.Parse(Console.ReadLine());
                    Loja busca1 = ListaLoja.Find(x => x.Id == index);

                    Console.WriteLine("Deseja realmente excluir esse produto 1-SIM | 2-NÃO");
                    int opcao = int.Parse(Console.ReadLine());
                    if (opcao == 1)
                    {
                        if (busca1 != null)
                        {
                            ListaLoja.Remove(new Loja()
                            {
                                Id = index
                            });
                            Console.WriteLine("Lista de produtos atualizada:");
                            foreach (Loja cadastrados in ListaLoja)
                            {
                                Console.WriteLine(cadastrados);
                            }
                        }
                        else
                        {
                            Console.WriteLine("Id do produto não existente!!");
                        }
                    }
                    else
                    {
                        Console.WriteLine("OK comece novamente");
                    }


                    break;

                case "04":
                    Console.WriteLine("\nLista Ordenada por Id");
                    ListaLoja.Sort(delegate(Loja p1, Loja p2)
                    {
                        return(p1.Id.CompareTo(p2.Id));
                    });
                    ListaLoja.ForEach(delegate(Loja p)
                    {
                        Console.WriteLine(String.Format("{0} | {1} | {2} | {3} | {4}", p.Id, p.Produto, p.Preco, p.Imposto, p.Data));
                    });
                    break;

                case "05":
                    Console.Write("\nQual Id deseja localizar:#");
                    int  filtro    = int.Parse(Console.ReadLine());
                    Loja localizar = ListaLoja.Find(x => x.Id == filtro);
                    if (localizar != null)
                    {
                        Console.WriteLine("\nLocalizado: " + localizar);
                    }
                    else
                    {
                        Console.WriteLine("Id do produto não existente!!");
                    }
                    break;

                case "09": Console.WriteLine("\nAplicação encerrada");
                    Thread.Sleep(2000);
                    Environment.Exit(1);
                    exec = false;
                    break;

                default:
                    Console.WriteLine("\nOpção não existente!!");
                    break;
                }
            }while (exec);
        }