Esempio n. 1
0
        public static void Main(string[] args)
        {
            var  filmes   = new Filmes();
            var  clientes = new Clientes();
            bool execucao = true;

            do
            {
                Console.WriteLine("======================= MENU ========================");
                Console.WriteLine("Digite o número da função desejada");
                Console.WriteLine("1. Cadastrar Filme");
                Console.WriteLine("2. Cadastrar Cliente");
                Console.WriteLine("3. Listar Filmes");
                Console.WriteLine("4. Listar Clientes");
                Console.WriteLine("5. Remover Filmes");
                Console.WriteLine("6. Remover Clientes");
                Console.WriteLine("7. Alterar Filme");
                Console.WriteLine("8. Alterar Cliente");
                Console.WriteLine("9. SAIR");
                Console.WriteLine("");
                Console.Write(">> ");
                string funcao = Console.ReadLine();
                Console.Clear();

                switch (funcao)
                {
                case "1":
                    string id = Guid.NewGuid().ToString();

                    Console.WriteLine("Informe o nome do filme");
                    Console.Write(">> ");
                    string nome = Console.ReadLine();
                    Console.Clear();

                    DateTime dataCadastro = DateTime.Now;

                    Console.WriteLine("Informe o Genero do filme Ação; Comédia; Ficção; Romance; Terror");
                    Console.Write(">> ");
                    string generoEscolhido = Console.ReadLine();
                    Genero genero          = (Genero)Enum.Parse(typeof(Genero), generoEscolhido);
                    Console.Clear();

                    Console.WriteLine("Informe o tipo de mídia: BluRay; DVD; VHS");
                    Console.Write(">> ");
                    string    tipoMidiaEscolhida = Console.ReadLine();
                    TipoMidia tipoMidia          = (TipoMidia)Enum.Parse(typeof(TipoMidia), tipoMidiaEscolhida);
                    Console.Clear();

                    Console.WriteLine("Informe o preço do filme");
                    Console.Write(">> R$");
                    string inputPreco = Console.ReadLine();
                    double preco      = double.Parse(inputPreco);
                    Console.Clear();

                    var filme = new Filme(id, nome, dataCadastro, genero, preco, tipoMidia);

                    filmes.Adicionar(filme);

                    Console.WriteLine("================== Filme Cadastrado ==================");
                    Console.WriteLine($"Nome: {filme.Nome}");
                    Console.WriteLine($"Gênero: {filme.Genero}");
                    Console.WriteLine($"Mídia: {filme.TipoMidia}");
                    Console.WriteLine($"Preço: R${filme.Preco}");
                    Console.WriteLine($"Cadastrado: {filme.DataCadastro}");
                    Console.WriteLine($"ID: {filme.Id}");
                    Console.WriteLine("");
                    Console.WriteLine("Cadastro finalizado, aperte ENTER para sair...");
                    Console.ReadLine();
                    Console.Clear();
                    break;

                case "2":
                    string idCliente = Guid.NewGuid().ToString();

                    Console.WriteLine("Informe o nome do cliente");
                    Console.Write(">> ");
                    string nomeCliente = Console.ReadLine();
                    Console.Clear();

                    Console.WriteLine("Informe o CPF do cliente");
                    Console.Write(">> ");
                    string cpfCliente = Console.ReadLine();
                    Console.Clear();

                    Console.WriteLine("Informe a data de nascimento do cliente");
                    Console.Write(">> ");
                    string dataNascimentoCliente = Console.ReadLine();
                    Console.Clear();

                    DateTime dataCadastroCliente = DateTime.Now;

                    var cliente = new Cliente(idCliente, nomeCliente, cpfCliente, dataNascimentoCliente, dataCadastroCliente);
                    clientes.Adicionar(cliente);

                    Console.WriteLine("======= Cliente Cadastrado ===========================");
                    Console.WriteLine($"Nome: {cliente.NomeCliente}");
                    Console.WriteLine($"CPF: {cliente.CpfCliente}");
                    Console.WriteLine($"Data de Nascimento: {cliente.DataNascimentoCliente}");
                    Console.WriteLine($"Cadastro criado em: {cliente.DataCadastroCliente}");
                    Console.WriteLine($"ID: {cliente.IdCliente}");
                    Console.WriteLine("");
                    Console.WriteLine("Cadastro finalizado, aperte ENTER para sair...");
                    Console.ReadLine();
                    Console.Clear();
                    break;

                case "3":
                    filmes.ListarFilmes();
                    Console.WriteLine("===================================================");
                    Console.WriteLine("");
                    Console.WriteLine("Aperte ENTER para continuar...");
                    Console.ReadLine();
                    Console.Clear();
                    break;

                case "4":
                    clientes.ListarClientes();
                    Console.WriteLine("===================================================");
                    Console.WriteLine("");
                    Console.WriteLine("Aperte ENTER para continuar...");
                    Console.ReadLine();
                    Console.Clear();
                    break;

                case "5":
                    Console.WriteLine("Informe o nome do filme que deseja deletar");
                    string nomeFilmeRemover = Console.ReadLine();
                    filmes.RemoverFilme(nomeFilmeRemover);
                    break;

                case "6":
                    Console.WriteLine("Informe o nome do Cliente que deseja deletar");
                    string nomeClienteRemover = Console.ReadLine();
                    clientes.RemoverCliente(nomeClienteRemover);
                    break;

                case "7":
                    filmes.AlterarCadastroFilme();
                    break;

                case "8":
                    clientes.AlterarCadastroCliente();
                    break;

                case "9":
                    execucao = false;
                    break;

                default:
                    Console.WriteLine("Função inválida, aperte ENTER para retornar...");
                    Console.ReadLine();
                    Console.Clear();
                    break;
                }
            } while (execucao == true);
        }
Esempio n. 2
0
        static void Menu()
        {
            Console.Clear();

            Console.WriteLine("\t------------LOCADORA DO TRABSON------------");

            Console.WriteLine("(1) Adicionar cliente\n(2) Buscar cliente\n(3) Editar cliente\n(4) Remover cliente");
            Console.WriteLine("(5) Adicionar filme\n(6) Buscar filme\n(7) Editar filme\n(8) Remover filme");
            Console.WriteLine("(9) Registrar aluguel\n(10) Registrar devolução\n(11) Sair");

            Console.WriteLine("Escolha uma operação:");
            int operacao = int.Parse(Console.ReadLine());

            do
            {
                switch (operacao)
                {
                case 1:

                    Console.Clear();


                    Console.WriteLine("Insira o nome do cliente: ");
                    string nome = Console.ReadLine();

                    Console.WriteLine("Insira o CPF do cliente: ");
                    string cpf = Console.ReadLine();

                    Console.WriteLine("\nAgora você irá inserir os dados do endereço do cliente: ");
                    Console.WriteLine("Logradouro: ");
                    string logradouro = Console.ReadLine();

                    Console.WriteLine("Número: ");
                    int numero = Convert.ToInt32(Console.ReadLine());

                    Console.WriteLine("Complemento (se não houver, apenas pressione ENTER): ");
                    string complemento = Console.ReadLine();

                    Console.WriteLine("CEP: ");
                    string cep = Console.ReadLine();

                    Console.WriteLine("Bairro: ");
                    string bairro = Console.ReadLine();

                    Console.WriteLine("Cidade: ");
                    string cidade = Console.ReadLine();

                    Endereco endereco = new Endereco(logradouro, numero, complemento, cep, bairro, cidade);

                    int status = 0;
                    while (status != 1 && status != 2)
                    {
                        Console.WriteLine("O cliente será PREMIUM? 1 para SIM, 2 para NÃO: ");
                        status = Convert.ToInt32(Console.ReadLine());

                        Boolean premium;

                        if (status == 1)
                        {
                            premium = true;

                            Cliente cliente = new Cliente(nome, cpf, endereco, premium);
                            Fachada.Instance.SalvarCliente(cliente);

                            Console.Clear();
                            Console.WriteLine("Cliente adicionado com sucesso!\n");
                            Console.WriteLine(cliente.ToString());

                            Console.ReadLine();
                        }
                        else if (status == 2)
                        {
                            premium = false;

                            Cliente cliente = new Cliente(nome, cpf, endereco, premium);
                            Fachada.Instance.SalvarCliente(cliente);

                            Console.Clear();
                            Console.WriteLine("Cliente adicionado com sucesso!\n");
                            Console.WriteLine(cliente.ToString());

                            Console.ReadLine();
                        }
                        else
                        {
                            Console.WriteLine("Operação Inválida!");
                        }
                    }

                    Menu();

                    break;

                case 2:

                    Console.Clear();

                    Console.WriteLine("Insira o CPF do cliente: ");
                    string busca = Console.ReadLine();

                    Console.Clear();
                    Console.WriteLine(Fachada.Instance.BuscarCliente(busca));

                    Console.ReadLine();

                    Menu(); break;

                case 3:

                    Console.Clear();

                    Console.WriteLine("Insira o CPF do cliente: ");
                    string pesquisa = Console.ReadLine();

                    Console.Clear();
                    Cliente cl = Fachada.Instance.BuscarCliente(pesquisa);
                    Console.WriteLine(cl.ToString());

                    Console.WriteLine("Insira o novo nome do cliente: ");
                    string novoNome = Console.ReadLine();

                    Console.WriteLine("\nAgora você irá inserir os novos dados do endereço do cliente: ");
                    Console.WriteLine("Logradouro: ");
                    string novoLogradouro = Console.ReadLine();

                    Console.WriteLine("Número: ");
                    int novoNumero = Convert.ToInt32(Console.ReadLine());

                    Console.WriteLine("Complemento (se não houver, apenas pressione ENTER): ");
                    string novoComplemento = Console.ReadLine();

                    Console.WriteLine("CEP: ");
                    string novoCep = Console.ReadLine();

                    Console.WriteLine("Bairro: ");
                    string novoBairro = Console.ReadLine();

                    Console.WriteLine("Cidade: ");
                    string novaCidade = Console.ReadLine();

                    Endereco novoEndereco = new Endereco(novoLogradouro, novoNumero, novoComplemento, novoCep, novoBairro, novaCidade);

                    int novoStatus = 0;
                    while (novoStatus != 1 && novoStatus != 2)
                    {
                        Console.WriteLine("O cliente será PREMIUM? 1 para SIM, 2 para NÃO: ");
                        novoStatus = Convert.ToInt32(Console.ReadLine());

                        Boolean premium;

                        if (novoStatus == 1)
                        {
                            premium = true;

                            Fachada.Instance.EditarCliente(cl, novoNome, novoEndereco, premium);

                            Console.Clear();
                            Console.WriteLine("Cliente alterado com sucesso!\n");
                            Console.WriteLine(cl.ToString());

                            Console.ReadLine();
                        }
                        else if (novoStatus == 2)
                        {
                            premium = false;

                            Fachada.Instance.EditarCliente(cl, novoNome, novoEndereco, premium);

                            Console.Clear();
                            Console.WriteLine("Cliente alterado com sucesso!\n");
                            Console.WriteLine(cl.ToString());

                            Console.ReadLine();
                        }
                        else
                        {
                            Console.WriteLine("Operação Inválida!");
                        }
                    }

                    Menu();


                    break;

                case 4:
                    Console.Clear();

                    Console.WriteLine("Insira o CPF do cliente: ");
                    string search = Console.ReadLine();

                    Console.Clear();
                    Cliente client = Fachada.Instance.BuscarCliente(search);
                    Console.WriteLine(client.ToString());

                    int confirmacao = 0;

                    while (confirmacao != 1 && confirmacao != 2)
                    {
                        Console.WriteLine("Deseja remover o cliente? 1 para SIM, 2 para NÃO");
                        confirmacao = Convert.ToInt32(Console.ReadLine());


                        if (confirmacao == 1)
                        {
                            if (Fachada.Instance.RemoverCliente(client))
                            {
                                Console.WriteLine("Cliente removido com sucesso!");
                                Console.ReadLine();
                            }
                            else
                            {
                                Console.WriteLine("Não foi possível remover o cliente.\nVerifique se ele possui filmes alugados");
                                Console.ReadLine();
                            }
                        }
                        else if (confirmacao == 2)
                        {
                            Console.WriteLine("Operação cancelada.");
                            Console.ReadLine();
                        }
                        else
                        {
                            Console.WriteLine("Opção inválida!");
                        }
                    }

                    Menu();

                    break;

                case 5:

                    Console.Clear();


                    Console.WriteLine("Insira o título do filme: ");
                    string titulo = Console.ReadLine();

                    Console.WriteLine("Insira o diretor do filme: ");
                    string diretor = Console.ReadLine();

                    Console.WriteLine("Dia de lançamento: ");
                    int dia = Convert.ToInt32(Console.ReadLine());

                    Console.WriteLine("Mês de lançamento (número): ");
                    int mes = Convert.ToInt32(Console.ReadLine());

                    Console.WriteLine("Ano de lançamento: ");
                    int ano = Convert.ToInt32(Console.ReadLine());

                    DateTime dataLancamento = new DateTime(ano, mes, dia);

                    Console.WriteLine("Preço: ");
                    double preco = Convert.ToDouble(Console.ReadLine());

                    Console.WriteLine("Gênero (Exemplos: Ação, Aventura, Drama, etc): ");
                    string genero = Console.ReadLine();

                    Console.WriteLine("Sinopse: ");
                    string sinopse = Console.ReadLine();

                    Filme filme = new Filme(titulo, diretor, dataLancamento, preco, genero, sinopse);
                    Fachada.Instance.SalvarFilme(filme);

                    Console.Clear();
                    Console.WriteLine("Filme adicionado com sucesso!");
                    Console.WriteLine(filme.ToString());

                    Console.ReadLine();

                    Menu();

                    break;

                case 6:

                    Console.Clear();

                    Console.WriteLine("Insira o título do filme: ");
                    string buscaFilme = Console.ReadLine();

                    Console.Clear();
                    Console.WriteLine(Fachada.Instance.BuscarFilme(buscaFilme));

                    Console.ReadLine();

                    Menu();

                    break;

                case 7:

                    Console.Clear();

                    Console.WriteLine("Insira o título do filme: ");
                    string filmSearch = Console.ReadLine();

                    Console.Clear();
                    Filme f = Fachada.Instance.BuscarFilme(filmSearch);
                    Console.WriteLine(f.ToString());

                    Console.WriteLine("Insira o novo título do filme: ");
                    string novoTitulo = Console.ReadLine();

                    Console.WriteLine("Insira o novo diretor do filme: ");
                    string novoDiretor = Console.ReadLine();

                    Console.WriteLine("Novo dia de lançamento: ");
                    int novoDia = Convert.ToInt32(Console.ReadLine());

                    Console.WriteLine("Novo mês de lançamento (número): ");
                    int novoMes = Convert.ToInt32(Console.ReadLine());

                    Console.WriteLine("Novo ano de lançamento: ");
                    int novoAno = Convert.ToInt32(Console.ReadLine());

                    DateTime novaDataLancamento = new DateTime(novoAno, novoMes, novoDia);

                    Console.WriteLine("Novo preço: ");
                    double novoPreco = Convert.ToDouble(Console.ReadLine());

                    Console.WriteLine("Novo gênero (Exemplos: Ação, Aventura, Drama, etc): ");
                    string novoGenero = Console.ReadLine();

                    Console.WriteLine("Nova sinopse: ");
                    string novaSinopse = Console.ReadLine();

                    Fachada.Instance.EditarFilme(f, novoTitulo, novoDiretor, novaDataLancamento,
                                                 novoPreco, novoGenero, novaSinopse);

                    Console.Clear();

                    Console.WriteLine("Filme atualizado com sucesso!");
                    Console.WriteLine(f.ToString());
                    Console.ReadLine();

                    Menu();

                    break;

                case 8:

                    Console.Clear();

                    Console.WriteLine("Insira o título do filme: ");
                    string movieSearch = Console.ReadLine();

                    Console.Clear();
                    Filme movie = Fachada.Instance.BuscarFilme(movieSearch);
                    Console.WriteLine(movie.ToString());

                    int confirm = 0;

                    while (confirm != 1 && confirm != 2)
                    {
                        Console.WriteLine("Deseja remover o filme? 1 para SIM, 2 para NÃO");
                        confirm = Convert.ToInt32(Console.ReadLine());


                        if (confirm == 1)
                        {
                            Fachada.Instance.RemoverFilme(movie);
                            Console.WriteLine("Filme removido com sucesso!");
                            Console.ReadLine();
                        }
                        else if (confirm == 2)
                        {
                            Console.WriteLine("Operação cancelada.");
                            Console.ReadLine();
                        }
                        else
                        {
                            Console.WriteLine("Opção inválida!");
                        }
                    }

                    Menu();

                    break;

                case 9:

                    Console.Clear();

                    Console.WriteLine("Insira o título do filme: ");
                    string buscaFilmeAluguel = Console.ReadLine();

                    Filme film = Fachada.Instance.BuscarFilme(buscaFilmeAluguel);
                    Console.WriteLine(film.ToString());

                    Console.WriteLine("---------------------\nInsira o CPF do cliente: ");
                    string clienteCpf = Console.ReadLine();

                    Cliente fregues = Fachada.Instance.BuscarCliente(clienteCpf);
                    Console.WriteLine(fregues.ToString());

                    Console.WriteLine("---------------------\nPor quantos dias irá alugar?");
                    int dias = Convert.ToInt32(Console.ReadLine());

                    Console.WriteLine("Qual a forma de pagamento?");
                    string formaPagamento = Console.ReadLine();

                    fregues.Alugar(fregues, film);
                    NotaFiscal nf = new NotaFiscal(fregues, film, dias, formaPagamento);

                    Console.Clear();
                    Console.WriteLine("Alugado!");
                    Console.WriteLine(nf.ToString());

                    Console.ReadLine();

                    Menu();

                    break;

                case 10:

                    Console.Clear();

                    Console.WriteLine("Insira o CPF do cliente: ");
                    string clientCpf = Console.ReadLine();

                    Cliente cli = Fachada.Instance.BuscarCliente(clientCpf);
                    Console.WriteLine(cli.ToString());

                    Console.WriteLine("---------------------\nInsira o nome do filme a ser devolvido");
                    string p = Console.ReadLine();

                    Filme fl = Fachada.Instance.BuscarFilme(p);
                    Console.WriteLine(fl.ToString());

                    cli.Devolver(cli, fl);

                    Console.WriteLine("Devolvido!");

                    Console.ReadLine();

                    Menu();

                    break;

                default:
                    Console.Clear();
                    Console.WriteLine("Obrigado por usar o nosso sistema!"); break;
                }
            } while (operacao != 11);
        }
Esempio n. 3
0
 public void Adicionar(Filme filme)
 {
     ListaFilmes.Add(filme);
 }