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); }
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); }
public void Adicionar(Filme filme) { ListaFilmes.Add(filme); }