Exemplo n.º 1
0
 protected void gvGerenciamentoAutores_RowDeleting(object sender, GridViewDeleteEventArgs e)
 {
     try
     {
         GridViewRow loRGridViewRow = this.gvGerenciamentoAutores.Rows[e.RowIndex];
         decimal     ldcIdAutor     = Convert.ToDecimal((this.gvGerenciamentoAutores.Rows[e.RowIndex].FindControl("lblIdAutor") as
                                                         Label).Text);
         Autores loAutor = this.ioAutoresDAO.BuscaAutores(ldcIdAutor).FirstOrDefault();
         if (loAutor != null)
         {
             //Crie LivrosDAO e o método FindLivrosByAutor() que deve receber um Autor como parâmetro e retornar
             //uma lista de livros.
             LivrosDAO loLivrosDAO = new LivrosDAO();
             if (loLivrosDAO.FindLivrosByAutor(loAutor).Count != 0)
             {
                 HttpContext.Current.Response.Write("<script>alert('Não é possível remover o autor selecionado pois existem livros associados a ele.');</script>");
             }
             else
             {
                 this.ioAutoresDAO.DeletaAutor(loAutor);
                 this.CarregaDados();
             }
         }
     }
     catch (Exception ex)
     {
         HttpContext.Current.Response.Write("<script>alert('Erro na remoção do autor selecionado.');</script>");
         HttpContext.Current.Response.Write($"<script>console.log({ex.Message});</script>");
         HttpContext.Current.Response.Write($"<script>console.log({ex.StackTrace});</script>");
     }
 }
 protected void gvGerenciamentoCategorias_RowDeleting(object sender, GridViewDeleteEventArgs e)
 {
     try
     {
         var       currentRow     = gvGerenciamentoCategorias.Rows[e.RowIndex];
         decimal   ldcIdTipoLivro = Convert.ToDecimal((currentRow.FindControl("lblIdTipoLivro") as Label).Text);
         TipoLivro loTipoLivro    = this.ioTipoLivroDAO.BuscaCategorias(ldcIdTipoLivro).FirstOrDefault();
         if (loTipoLivro != null)
         {
             //Crie LivrosDAO e o método FindLivrosByTipoLivro() que deve receber um Autor como parâmetro e retornar
             //uma lista de livros.
             LivrosDAO loLivrosDAO = new LivrosDAO();
             if (loLivrosDAO.FindLivrosByTipoLivro(loTipoLivro).Count != 0)
             {
                 HttpContext.Current.Response.Write("<script>alert('Não é possível remover a categoria selecionada pois existem livros associados a ela.');</script>");
             }
             else
             {
                 this.ioTipoLivroDAO.DeletaAutor(loTipoLivro);
                 this.CarregaDados();
             }
         }
     }
     catch (Exception ex)
     {
         HttpContext.Current.Response.Write("<script>alert('Erro na remoção da categoria selecionada.');</script>");
         HttpContext.Current.Response.Write($"<script>console.log({ex.Message});</script>");
         HttpContext.Current.Response.Write($"<script>console.log({ex.StackTrace});</script>");
     }
 }
Exemplo n.º 3
0
        public void BuscaNaoDeveSerNula()
        {
            var livrosDAO = new LivrosDAO();

            CadastrarAutoresDao();
            CadastrarCategoriasDao();
            CadastrarLivrosDao();
            Assert.Throws <NullReferenceException>(() => livrosDAO.MostrarLivrosBuscados(null));
        }
Exemplo n.º 4
0
        public void BuscaDeveTerAoMenosDoisCaracteres(string busca)
        {
            var livrosDAO = new LivrosDAO();

            CadastrarAutoresDao();
            CadastrarCategoriasDao();
            CadastrarLivrosDao();
            Assert.Throws <ArgumentException>(() => livrosDAO.MostrarLivrosBuscados(busca));
        }
Exemplo n.º 5
0
        public void TituloNaoPodeSerDuplicado()
        {
            CriaLivrosDao();

            var novoLivro = new Livro("PHP para baixinhos",
                                      LivrosHelpers.RESUMO_COM_MAIS_DE_500_CARACTERES, "Teste", 20, "978-12-34567-89-0",
                                      new Autor("nome", "*****@*****.**", "minha descrição"), new Categoria("categoria"), 2.0, 35.50m);

            Assert.True(LivrosDAO.BuscarTitulo(novoLivro.Titulo).Any());
        }
Exemplo n.º 6
0
        public void BuscaComOTermoCoachRetornaDoisLivros()
        {
            var livrosDAO = new LivrosDAO();

            CadastrarAutoresDao();
            CadastrarCategoriasDao();
            CadastrarLivrosDao();

            var livros = livrosDAO.MostrarLivrosBuscados("Coach");

            Assert.True(livros.Count == 2);
        }
Exemplo n.º 7
0
 private void CriaLivrosDao()
 {
     new LivrosDAO();
     LivrosDAO.Salvar(new Livro("PHP para baixinhos",
                                LivrosHelpers.RESUMO_COM_MAIS_DE_500_CARACTERES, "Teste", 20, "978-12-34567-89-0",
                                new Autor("nome", "*****@*****.**", "minha descrição"), new Categoria("categoria"), 2.0, 35.50m));
     LivrosDAO.Salvar(new Livro("Escrevi este livro e fiquei rico!",
                                LivrosHelpers.RESUMO_COM_MAIS_DE_500_CARACTERES, "Teste", 20, "978-12-34567-89-0",
                                new Autor("nome", "*****@*****.**", "minha descrição"), new Categoria("categoria"), 2.0, 35.50m));
     LivrosDAO.Salvar(new Livro("Seja um coach quântico sem saber o significado de quântico.",
                                LivrosHelpers.RESUMO_COM_MAIS_DE_500_CARACTERES, "Teste", 20, "978-12-34567-89-0",
                                new Autor("nome", "*****@*****.**", "minha descrição"), new Categoria("categoria"), 2.0, 35.50m));
 }
Exemplo n.º 8
0
        private void CadastrarLivrosDao()
        {
            LivrosDAO.Salvar(new Livro("PHP para baixinhos",
                                       LivrosHelpers.RESUMO_COM_MAIS_DE_500_CARACTERES, "A arte de ser um sobrinho.", 20, "978-12-34567-89-0",
                                       new Autor("Rasmus", "*****@*****.**", "Criador da linguagem PHP."), new Categoria("PHP"), 2.0, 35.50m));

            LivrosDAO.Salvar(new Livro("Escrevi este livro e fiquei ryco!",
                                       LivrosHelpers.RESUMO_COM_MAIS_DE_500_CARACTERES, "Este é sumário é bem caro.", 20, "978-12-76543-89-0",
                                       new Autor("Ricardo Rico", "*****@*****.**", "Muito ryco!"), new Categoria("Coach Quântico"), 2.0, 35.50m));

            LivrosDAO.Salvar(new Livro("Seja um coach quântico sem saber o significado de quântico.",
                                       LivrosHelpers.RESUMO_COM_MAIS_DE_500_CARACTERES, "Sumário quântico", 20, "978-12-34567-09-8",
                                       new Autor("Enga Nador", "*****@*****.**", "Comecei enganando cedo."), new Categoria("Coach Quântico"), 2.0, 35.50m));

            LivrosDAO.Salvar(new Livro("Seja um coach quântico sem saber o significado de quântico 2.",
                                       LivrosHelpers.RESUMO_COM_MAIS_DE_500_CARACTERES, "Sumário quântico", 20, "978-12-34559-09-8",
                                       new Autor("Enga Nador", "*****@*****.**", "Comecei enganando cedo."), new Categoria("Coach Quântico"), 2.0, 35.50m));
        }
        protected void gvGerenciamentoEditores_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            try
            {
                decimal ldcIdeditor = Convert.ToDecimal((gvGerenciamentoEditores.Rows[e.RowIndex].FindControl("lblIdEditor") as Label).Text);
                // buscar o editor
                Editores loEditor = ioEditoresDAO.BuscaEditores(ldcIdeditor).FirstOrDefault();
                if (loEditor != null)
                {
                    //Crie LivrosDAO e o método FindLivrosByEditor() que deve receber um Editor como parâmetro e retornar
                    //uma lista de livros.
                    LivrosDAO loLivrosDAO = new LivrosDAO();

                    if (loLivrosDAO.FindLivrosByEditor(loEditor).Count > 0)
                    {
                        // se a busca retornar pelo menos 1 livro, não pode deletar o editor
                        HttpContext.Current.Response.Write("<script>alert('Não é possível remover o editor selecionado pois existem livros associados a ele.');</script>");
                    }
                    else
                    {
                        // deletar o editor
                        ioEditoresDAO.DeletaEditor(loEditor);
                        // sucesso
                        HttpContext.Current.Response.Write("<script>alert('Editor removido com sucesso!');</script>");
                        // reseta o index
                        gvGerenciamentoEditores.EditIndex = -1;
                        // recarrega os dados
                        CarregaDados();
                    }
                }
            }
            catch (Exception ex)
            {
                // erro
                HttpContext.Current.Response.Write("<script>alert('Editor removido com sucesso!');</script>");
                HttpContext.Current.Response.Write($"<script>console.log({ex.Message});</script>");
                HttpContext.Current.Response.Write($"<script>console.log({ex.StackTrace});</script>");
            }
        }
Exemplo n.º 10
0
        static void Main(string[] args)
        {
            new AutoresDAO();
            new CategoriasDAO();
            var livrosDAO = new LivrosDAO();

            CadastrarAutoresDao();
            CadastrarCategoriasDao();
            CadastrarLivrosDao();

            Cabecalho();

            var confirmacao = "S";

            while (confirmacao.ToUpper() == "S")
            {
                Console.Write("\n\nDigite ao menos duas letras para buscar um livro pelo título: ");
                string busca = Console.ReadLine();
                try
                {
                    var livros = livrosDAO.MostrarLivrosBuscados(busca);
                    Console.WriteLine($"\nBusca feita com o termo \"{busca}\".");
                    int numero = 1;
                    foreach (var livro in livros)
                    {
                        Console.WriteLine($"\n\nLivro número {numero}\n");
                        Console.WriteLine($"Título: {livro.Titulo}");
                        Console.WriteLine($"Autor: {livro.Autor.Nome}");
                        Console.WriteLine($"Categoria: {livro.Categoria.Nome}");
                        Console.WriteLine($"Resumo: {livro.Resumo}.");
                        Console.WriteLine($"Sumario: {livro.Sumario}");
                        Console.WriteLine($"ISBN: {livro.ISBN}");
                        Console.WriteLine($"Edição: {livro.Edicao}");
                        Console.WriteLine($"Páginas: {livro.Paginas}");
                        Console.WriteLine($"Preço: R${livro.Preco}");

                        numero++;
                    }
                }
                catch (NullReferenceException e)
                {
                    Console.WriteLine(e.Message);
                }
                catch (ArgumentException e)
                {
                    Console.WriteLine(e.Message);
                }
                Console.WriteLine("\n\nDeseja fazer outra busca? (S/N): ");
                confirmacao = Console.ReadLine();
            }

            Console.Clear();

            CarrinhoDeCompra carrinho = new CarrinhoDeCompra();

            carrinho.AdicionaProduto(LivrosHelpers.LIVRO1, 1);
            carrinho.AdicionaProduto(LivrosHelpers.LIVRO1, 1);
            carrinho.AdicionaProduto(LivrosHelpers.LIVRO4, 4);
            carrinho.FinalizarCompra();

            Console.WriteLine("\nAté mais!");
        }