public void AdicionarFornecedor()
        {
            Console.WriteLine("\nInsira completo do fornecedor");
            string Nome = Console.ReadLine();

            Console.WriteLine($"\nInsira Email de {Nome}");
            string Email = Console.ReadLine();

            Console.WriteLine($"\nInsira o Cnpj de {Nome},");
            string Cnpj = Console.ReadLine();

            Console.WriteLine($"\nInsira o bairro de {Nome}");
            string BairroNome = Console.ReadLine();
            Bairro bairro     = new Bairro(BairroNome);

            Console.WriteLine($"\nInsira o Estado(em extenso) de {Nome}");
            string EstadoNome = Console.ReadLine();

            Console.WriteLine($"\nInsira Sigla do estado de {Nome}");
            string EstadoSigla = Console.ReadLine();
            Estado estado      = new Estado(EstadoNome, EstadoSigla);

            Console.WriteLine($"\nInsira a cidade de {Nome}");
            string CidadeNome = Console.ReadLine();
            Cidade cidade     = new Cidade(CidadeNome, estado);

            Console.WriteLine($"\nInsira o número do endereço de {Nome}");
            long EnderecoNumero = long.Parse(Console.ReadLine());

            Console.WriteLine($"\nInsira a rua do endereço de {Nome}");
            string   EnderecoRua = Console.ReadLine();
            Endereco endereco    = new Endereco(EnderecoNumero, EnderecoRua, bairro, cidade);

            long id = 1;

            if (Fornecedores.Count > 0)
            {
                id = Fornecedores[Fornecedores.Count - 1].ID + 1;
            }

            Fornecedores.Add(new PessoaJuridica(Nome, endereco, Email, Cnpj, id));

            Console.WriteLine($"\n\nNovo fornecedor adicionado!\nId- {id}\nNome- {Nome}\nEmail- {Email}\n" +
                              $"Cnpj- {Cnpj}\nBairro- {BairroNome}\nEstado- {EstadoNome}- {EstadoSigla}\n" +
                              $"Cidade- {CidadeNome}\nEndereço-Rua {EnderecoRua}, Número- {EnderecoNumero}\n");
        }
        static void Main(string[] args)
        {
            //-Cadastro do catálogo de produtos;
            //-Controle da movimentação(compra/ venda) dos produtos.
            bool     ProgramaAtivo = true;
            int      acao          = 0;
            Cadastro programa      = new Cadastro();
            // intancias para teste do professor
            Bairro   BairroBob   = new Bairro("Bairro Jardim das Oliveiras");
            Estado   EstadoBob   = new Estado("Distrito Federal", "DF");
            Cidade   CidadeBob   = new Cidade("Brasília", EstadoBob);
            Endereco EnderecoBob = new Endereco(23, "Rua das Classes", BairroBob, CidadeBob);

            programa.Clientes.Add(new PessoaFisica("Bob Nelson", EnderecoBob, "*****@*****.**", "111.222.333-99", 100, false));
            Bairro   BairroTes   = new Bairro("Bairro Operarios");
            Estado   EstadoTes   = new Estado("Goiás", "GO");
            Cidade   CidadeTes   = new Cidade("Rio Verde", EstadoTes);
            Endereco EnderecoTes = new Endereco(4, "Avenida Abstrata", BairroTes, CidadeTes);

            programa.Clientes.Add(new PessoaFisica("Testolfo Rocha", EnderecoTes, "*****@*****.**", "444.555.666-11", 200, true));
            Bairro   BairroBel   = new Bairro("Bairro Monges Unidos");
            Estado   EstadoBel   = new Estado("Mato Grosso", "MG");
            Cidade   CidadeBel   = new Cidade("Belo Horizonte", EstadoBel);
            Endereco EnderecoBel = new Endereco(26, "Rua das Classes", BairroBel, CidadeBel);

            programa.Clientes.Add(new PessoaFisica("Belo Teste", EnderecoBel, "*****@*****.**", "999.888.777-72", 300, true));
            Bairro   BairroLiv   = new Bairro("Copacabana");
            Estado   EstadoLiv   = new Estado("Rio de Janeiro", "RJ");
            Cidade   CidadeLiv   = new Cidade("Rio de Janeiro", EstadoLiv);
            Endereco EnderecoLiv = new Endereco(45, "Vale das Heranças", BairroLiv, CidadeLiv);

            programa.Fornecedores.Add(new PessoaJuridica("Livros Associados", EnderecoLiv, "*****@*****.**", "999.888.777-72", 300));
            Livro Dom = new Livro(100, programa.Fornecedores[0], 19.99f, 31.99f, 70, "DomCasmurro", Genero.ficcão, "Machado de Assis", "Universal");
            Livro Uni = new Livro(150, programa.Fornecedores[0], 10.99f, 25.99f, 50, "Unity: design e desenvolvimento de jogos", Genero.games, "William Pereira Alves", "Universal");

            programa.LivrosLoja.Add(Dom);
            programa.LivrosLoja.Add(Uni);
            Caderno cem = new Caderno(170, programa.Fornecedores[0], 10.99f, 25.99f, 30, 100);

            programa.CadernosLoja.Add(cem);

            while (ProgramaAtivo)
            {
                Console.Clear();
                Console.WriteLine("LIVRARIA OBJETOLÂNDIA\nbem vindo!\n\n" +
                                  "o que deseja fazer?\n\nescreva úm número e dê enter para determinada ação.\n\n" +
                                  "1 - Relacionar clientes\n2 - Relacionar fornecedores\n" +
                                  "3 - Adicionar cliente\n4 - Remover cliente\n5 - " +
                                  "Adicionar fornecedor\n6 - Remover fornecedor\n7 - Adicionar uma nova série de livros\n8 - Venda / Compra de livros\n9 - Venda / Compra de Cadernos" +
                                  "\n10 - Mostrar Livros\n11 - Mostrar Cadernos\n\n12 - Sair do Programa");
                acao = int.Parse(Console.ReadLine());
                switch (acao)
                {
                case 1:
                    Console.Clear();
                    programa.RelacionarClientes();
                    continuar();
                    break;

                case 2:
                    Console.Clear();
                    programa.RelacionarFornecedores();
                    continuar();
                    break;

                case 3:
                    Console.Clear();
                    programa.AdicionarCliente();
                    continuar();
                    break;

                case 4:
                    Console.Clear();
                    Console.WriteLine("Insira o ID do cliente que deseja remover");
                    int IdCliente = int.Parse(Console.ReadLine());
                    programa.RemoverCliente(IdCliente);
                    continuar();
                    break;

                case 5:
                    Console.Clear();
                    programa.AdicionarFornecedor();
                    continuar();
                    break;

                case 6:
                    Console.Clear();
                    Console.WriteLine("Insira o ID do Fornecedor que deseja remover");
                    int IdFornecedor = int.Parse(Console.ReadLine());
                    programa.RemoverFornecedor(IdFornecedor);
                    continuar();;
                    break;

                case 7:
                    Console.Clear();
                    programa.AdicionarSerieLivros();
                    continuar();
                    break;

                case 8:
                    Console.Clear();
                    programa.VendaOuCompraLivros();
                    continuar();
                    break;

                case 9:
                    Console.Clear();
                    programa.VendaOuCompraCadernos();
                    continuar();
                    break;

                case 10:
                    Console.Clear();
                    programa.MostrarLivros();
                    continuar();
                    break;

                case 11:
                    Console.Clear();
                    programa.MostrarCadernos();
                    continuar();
                    break;

                case 12:
                    ProgramaAtivo = false;
                    break;
                }
            }
            void continuar()
            {
                Console.WriteLine("\n\n Clique enter para continuar");
                Console.ReadLine();
            }
        }
        public void AdicionarCliente()
        {
            Console.WriteLine("\nInsira completo do cliente");
            string Nome = Console.ReadLine();

            Console.WriteLine($"\nInsira Email de {Nome}");
            string Email = Console.ReadLine();

            Console.WriteLine($"\nInsira o Cpf de {Nome}, desta forma = XXX-XXX-XXX.XX");
            string Cpf = Console.ReadLine();

            Console.WriteLine($"\nInsira o bairro de {Nome}");
            string BairroNome = Console.ReadLine();
            Bairro bairro     = new Bairro(BairroNome);

            Console.WriteLine($"\nInsira o Estado(em extenso) de {Nome}");
            string EstadoNome = Console.ReadLine();

            Console.WriteLine($"\nInsira Sigla do estado de {Nome}");
            string EstadoSigla = Console.ReadLine();
            Estado estado      = new Estado(EstadoNome, EstadoSigla);

            Console.WriteLine($"\nInsira a cidade de {Nome}");
            string CidadeNome = Console.ReadLine();
            Cidade cidade     = new Cidade(CidadeNome, estado);

            Console.WriteLine($"\nInsira o número do endereço de {Nome}");
            long EnderecoNumero = long.Parse(Console.ReadLine());

            Console.WriteLine($"\nInsira a rua do endereço de {Nome}");
            string   EnderecoRua = Console.ReadLine();
            Endereco endereco    = new Endereco(EnderecoNumero, EnderecoRua, bairro, cidade);

            Console.WriteLine($"{Nome} é Vip na livraria? (sim ou não)");
            bool vip       = false;
            bool respondeu = false;

            while (respondeu == false)
            {
                string eVip = Console.ReadLine();
                if (eVip == "sim")
                {
                    vip       = true;
                    respondeu = true;
                }
                else if (eVip == "não")
                {
                    vip       = false;
                    respondeu = true;
                }
                else
                {
                    Console.WriteLine("Por favor, digite corretamente!");
                }
            }

            long id = 1;

            if (Clientes.Count > 0)
            {
                id = Clientes[Clientes.Count - 1].ID + 1;
            }

            Clientes.Add(new PessoaFisica(Nome, endereco, Email, Cpf, id, vip));

            if (vip == true)
            {
                Console.WriteLine($"\n\nNovo cliente adicionado!\nId- {id}\nNome- {Nome}\nEmail- {Email}\n" +
                                  $"Cpf- {Cpf}\nBairro- {BairroNome}\nEstado- {EstadoNome}- {EstadoSigla}\n" +
                                  $"Cidade- {CidadeNome}\nEndereço-Rua {EnderecoRua}, Número- {EnderecoNumero}\n{Nome} É Vip!");
            }

            else
            {
                Console.WriteLine($"\n\nNovo cliente adicionado!\nId- {id}\nNome- {Nome}\nEmail- {Email}\n" +
                                  $"Cpf- {Cpf}\nBairro- {BairroNome}\nEstado- {EstadoNome}- {EstadoSigla}\n" +
                                  $"Cidade- {CidadeNome}\nEndereço-Rua {EnderecoRua}, Número- {EnderecoNumero}\n{Nome} não é Vip!");
            }
        }