コード例 #1
0
        private static void AlterarJogo(BaseXML baseXML)
        {
            Console.Clear();

            Console.WriteLine("Para alterar um jogo, é necessário o ID.\n");

            string menu = "1 - Já tenho o ID, quero fazer uma alteração.\n0 - Voltar para o menu.";
            int escolha = ReceberInteiro(0, 1, menu);

            if (menu == "0")
                return;

            menu = "Qual o ID do jogo que será alterado?";
            int idJogo = ReceberInteiro(1, 0, menu);

            if (baseXML.PesquisarJogoPorID(idJogo) == null)
            {
                Console.Clear();
                Console.WriteLine("Jogo não encontrado.");
                AguardarTecla();
                return;
            }

            ImprimirJogo(baseXML.PesquisarJogoPorID(idJogo), false);

            string nome;
            string categoria;
            double preco;

            nome = ReceberString("Digite o novo Nome.");
            categoria = ReceberString("Digite a nova Categoria.");
            preco = ReceberPreco();

            baseXML.AlterarJogo(new Jogo(nome, categoria, preco));
        }
コード例 #2
0
        public void AlterarElemento_Teste2()
        {
            File.Delete(CaminhoArquivo);
            BaseXML baseXML = new BaseXML(CaminhoArquivo);

            baseXML.CadastrarJogoNaBase(new Jogo("Top Gear", "Corrida", 20.50));
            Jogo jogo = new Jogo("Zelda", "Aventura", 10);
            jogo.ID = 1;
            baseXML.AlterarJogo(jogo);
            baseXML.CadastrarJogoNaBase(new Jogo("FIFA", "Corrida", 15));

            Jogo jogoRetornado1 = baseXML.PesquisarJogoPorID(1);
            Jogo jogoRetornado2 = baseXML.PesquisarJogoPorID(2);

            Assert.AreEqual("Aventura", jogoRetornado1.Categoria);
            Assert.AreEqual("Corrida", jogoRetornado2.Categoria);
        }
コード例 #3
0
        public void AlugarDevolverJogo_Teste1()
        {
            File.Delete(CaminhoArquivo);
            BaseXML baseXML = new BaseXML(CaminhoArquivo);

            baseXML.CadastrarJogoNaBase(new Jogo("Zelda", "Aventura", 10));
            baseXML.CadastrarJogoNaBase(new Jogo("FIFA", "Corrida", 15));
            baseXML.CadastrarUsuarioNaBase(new Usuario("Bernards"));

            Assert.AreEqual(2, baseXML.GetJogosDisponiveis().Length);
            baseXML.AlugarJogo(1, 1);
            Assert.AreEqual(1, baseXML.GetJogosDisponiveis().Length);
            Assert.AreEqual(1, baseXML.GetJogosAlugados().Length);

            baseXML.DevolverJogo(1);
            Assert.AreEqual(2, baseXML.GetJogosDisponiveis().Length);
            Assert.AreEqual(0, baseXML.GetJogosAlugados().Length);
        }
コード例 #4
0
        public void CadastrarJogo_Teste1()
        {
            File.Delete(CaminhoArquivo);
            BaseXML baseXML = new BaseXML(CaminhoArquivo);

            Jogo jogoEsperado1 = new Jogo("Top Gear", "Corrida", 90.8);
            Jogo jogoEsperado2 = new Jogo("Zelda", "Aventura", 80);

            baseXML.CadastrarJogoNaBase(jogoEsperado1);
            baseXML.CadastrarJogoNaBase(jogoEsperado2);

            Jogo jogoRetornado1 = baseXML.PesquisarJogoPorID(1);
            Jogo jogoRetornado2 = baseXML.PesquisarJogoPorID(2);

            int numeroElementos = baseXML.GetJogos().Length;

            Assert.AreEqual(2, numeroElementos);
            Assert.AreEqual(jogoEsperado1.Nome, jogoRetornado1.Nome);
            Assert.AreEqual(jogoEsperado2.Nome, jogoRetornado2.Nome);
        }
コード例 #5
0
        public void ProcurarPorNome_Teste3()
        {
            File.Delete(CaminhoArquivo);
            BaseXML baseXML = new BaseXML(CaminhoArquivo);

            baseXML.CadastrarJogoNaBase(new Jogo("Top Gear", "Corrida", 20.50));
            baseXML.CadastrarJogoNaBase(new Jogo("FIFA", "Corrida", 15));

            Jogo[] jogos = baseXML.PesquisarJogoPorNome("Zelda");

            Assert.AreEqual(0, jogos.Length);
        }
コード例 #6
0
        public void ProcurarPorNome_Teste1()
        {
            File.Delete(CaminhoArquivo);
            BaseXML baseXML = new BaseXML(CaminhoArquivo);

            baseXML.CadastrarJogoNaBase(new Jogo("Top Gear", "Corrida", 20.50));
            baseXML.CadastrarJogoNaBase(new Jogo("TOP GEAR", "Corrida", 15));

            Jogo[] jogos = baseXML.PesquisarJogoPorNome("Gea");

            Assert.AreEqual(2, jogos.Length);
            Assert.AreEqual("Top Gear", jogos[0].Nome);
            Assert.AreEqual("TOP GEAR", jogos[1].Nome);
        }
コード例 #7
0
        public void ProcurarPorID_Teste1()
        {
            File.Delete(CaminhoArquivo);
            BaseXML baseXML = new BaseXML(CaminhoArquivo);

            Jogo jogo = baseXML.PesquisarJogoPorID(0);

            Assert.AreEqual(null, jogo);
        }
コード例 #8
0
        public void ProcurarPorCategoria_Teste2()
        {
            File.Delete(CaminhoArquivo);
            BaseXML baseXML = new BaseXML(CaminhoArquivo);

            baseXML.CadastrarJogoNaBase(new Jogo("Top Gear", "Corrida", 20.50));
            baseXML.CadastrarJogoNaBase(new Jogo("Zelda", "Aventura", 15));

            Jogo[] jogos = baseXML.PesquisarJogoPorCategoria("venTura");

            Assert.AreEqual(1, jogos.Length);
            Assert.AreEqual(jogos[0].Nome, "Zelda");
        }
コード例 #9
0
        public void ListarUsuarios_Teste1()
        {
            File.Delete(CaminhoArquivo);
            BaseXML baseXML = new BaseXML(CaminhoArquivo);

            Usuario[] usuarios = baseXML.GetUsuarios();

            Assert.AreEqual(0, usuarios.Length);
        }
コード例 #10
0
        private static void CadatrarJogo(BaseXML baseXML)
        {
            Console.Clear();

            string nome = ReceberString("Digite o nome do jogo.");
            string categoria = ReceberString("Digite a categoria");
            double preco = ReceberPreco();

            Jogo jogo = new Jogo(nome, categoria, preco);

            baseXML.CadastrarJogoNaBase(jogo);

            Console.Clear();
            Console.WriteLine("Jogo cadastrado com sucesso.");
            AguardarTecla();
        }
コード例 #11
0
        private static void AlugarDevolverJogo(BaseXML baseXML)
        {
            int menu;
            int idJogo;
            int idUsuario;
            Console.Clear();

            menu = ReceberInteiro(1, 2, "1 - Desejo alugar um jogo.\n2 - Desejo devolver um jogo.\n");

            if (menu == 1)
            {
                Console.Clear();
                idJogo = ReceberInteiro(1, 0, "Qual o ID do jogo que deseja alugar?");

                if (baseXML.PesquisarJogoPorID(idJogo) == null)
                {
                    Console.Clear();
                    Console.WriteLine("Esse jogo não existe.");
                    AguardarTecla();
                    return;
                }

                Console.Clear();
                idUsuario = ReceberInteiro(1, 0, "Qual o ID do usuário que deseja alugar?");

                if (baseXML.PesquisarUsuarioPorID(idUsuario) == null)
                {
                    Console.Clear();
                    Console.WriteLine("Esse usuário não existe.");
                    AguardarTecla();
                    return;
                }

                Console.Clear();
                baseXML.AlugarJogo(idJogo, idUsuario);

                Console.Clear();
                Console.WriteLine("Pronto");
                AguardarTecla();
            }
            else
            {
                idJogo = ReceberInteiro(1, 0, "Qual o ID do jogo que deseja devolver?");
                if (baseXML.PesquisarJogoPorID(idJogo) == null)
                {
                    Console.Clear();
                    Console.WriteLine("Esse jogo não existe.");
                    AguardarTecla();
                    return;
                }

                Jogo[] alugados = baseXML.GetJogosAlugados();
                bool concluido = false;
                foreach (var jogo in alugados)
                {
                    if (jogo.Situacao == "Alugado" && jogo.ID == idJogo)
                    {
                        baseXML.DevolverJogo(idJogo);
                        concluido = true;
                        break;
                    }
                }

                if (concluido)
                {
                    Console.Clear();
                    Console.WriteLine("Pronto\n");
                    AguardarTecla();
                }
                else
                {
                    Console.Clear();
                    Console.WriteLine("Esse jogo não está alugado.\n");
                    AguardarTecla();
                }
            }
        }
コード例 #12
0
        private static void PesquisarJogo(BaseXML baseXML)
        {
            Console.Clear();

            string menu = "Qual o paramêtro de busca ?\n\n1 - ID\n2 - Nome\n3 - Categoria\n4 - Listar todos os jogos";
            int escolha = ReceberInteiro(1, 4, menu);
            Jogo[] resultado;

            if (escolha == 4)
            {
                ListarJogos(baseXML);
                return;
            }

            if (escolha == 1)
            {
                resultado = new Jogo[1];
                resultado[0] = baseXML.PesquisarJogoPorID(ReceberInteiro(1, 0, "Por qual ID deseja buscar?"));
            }
            else if (escolha == 2)
                resultado = baseXML.PesquisarJogoPorNome(ReceberString("Por qual Nome deseja buscar?"));
            else
                resultado = baseXML.PesquisarJogoPorCategoria(ReceberString("Por qual Categoria deseja buscar?"));

            Console.Clear();

            if (resultado != null && resultado[0] != null)
                ImprimirJogos(resultado, true);
            else
            {
                Console.Clear();
                Console.WriteLine("Jogo não encontrado.");
                AguardarTecla();
            }
        }
コード例 #13
0
        static void Main(string[] args)
        {
            string menu = "0";
            BaseXML baseXML = new BaseXML();
            do
            {
                Console.Clear();
                menu = ApresentarMenu();

                if (menu == "1")
                    CadatrarJogo(baseXML);
                else if (menu == "2")
                    PesquisarJogo(baseXML);
                else if (menu == "3")
                    AlterarJogo(baseXML);
                else if (menu == "4")
                    AlugarDevolverJogo(baseXML);
                else if (menu == "5")
                    CadastrarUsuario(baseXML);
                else if (menu == "6")
                    ImprimirUsuarios(baseXML.GetUsuarios(), true);
                else if (menu == "7")
                    GerarRelatorioJogos(baseXML);

            } while (!menu.Equals("0"));
        }
コード例 #14
0
        private static void ListarJogos(BaseXML baseXML)
        {
            Console.Clear();

            ImprimirJogos(baseXML.GetJogos(), true);
        }
コード例 #15
0
        private static void GerarRelatorioJogos(BaseXML baseXML)
        {
            Console.Clear();
            if (!ListaNaoVazia(baseXML.GetJogos()))
            {
                Console.WriteLine("Não há nenhum jogo cadastrado.");
                AguardarTecla();
            }
            else
            {
                Console.WriteLine("Digite o caminho do relatório a ser gerado.\n");
                string caminho = Console.ReadLine();
                Console.Clear();

                try
                {
                    baseXML.GerarRelatorioTXT(caminho);
                }

                catch (Exception e)
                {
                    if (e is UnauthorizedAccessException)
                    {
                        Console.WriteLine("O sistema não obteve permissão para criar um arquivo no diretório digitado.");
                        AguardarTecla();
                    }
                    else if (e is DirectoryNotFoundException)
                    {
                        Console.WriteLine("O diretório não foi encontrado.");
                        AguardarTecla();
                    }
                }

                Console.WriteLine("Pronto.");
                AguardarTecla();
            }
        }
コード例 #16
0
        public void CadastrarUsuario_Teste1()
        {
            File.Delete(CaminhoArquivo);
            BaseXML baseXML = new BaseXML(CaminhoArquivo);

            Usuario usuarioEsperado1 = new Usuario("Ronaldo");
            Usuario usuarioEsperado2 = new Usuario("Adriano");

            baseXML.CadastrarUsuarioNaBase(usuarioEsperado1);
            baseXML.CadastrarUsuarioNaBase(usuarioEsperado2);

            Usuario[] usuarios = baseXML.GetUsuarios();

            Usuario usuarioRetornado1 = baseXML.PesquisarUsuarioPorID(1);
            Usuario usuarioRetornado2 = baseXML.PesquisarUsuarioPorID(2);

            Assert.AreEqual(2, usuarios.Length);
            Assert.AreEqual(usuarioEsperado1.Nome, usuarioRetornado1.Nome);
            Assert.AreEqual(usuarioEsperado2.Nome, usuarioRetornado2.Nome);
        }
コード例 #17
0
        private static void CadastrarUsuario(BaseXML baseXML)
        {
            Console.Clear();
            string nome;

            nome = ReceberString("Digite o nome do usuário.");
            nome = Console.ReadLine();

            Usuario usuario = new Usuario(0, nome);
            baseXML.CadastrarUsuarioNaBase(usuario);
        }