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>"); } }
public void BuscaNaoDeveSerNula() { var livrosDAO = new LivrosDAO(); CadastrarAutoresDao(); CadastrarCategoriasDao(); CadastrarLivrosDao(); Assert.Throws <NullReferenceException>(() => livrosDAO.MostrarLivrosBuscados(null)); }
public void BuscaDeveTerAoMenosDoisCaracteres(string busca) { var livrosDAO = new LivrosDAO(); CadastrarAutoresDao(); CadastrarCategoriasDao(); CadastrarLivrosDao(); Assert.Throws <ArgumentException>(() => livrosDAO.MostrarLivrosBuscados(busca)); }
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()); }
public void BuscaComOTermoCoachRetornaDoisLivros() { var livrosDAO = new LivrosDAO(); CadastrarAutoresDao(); CadastrarCategoriasDao(); CadastrarLivrosDao(); var livros = livrosDAO.MostrarLivrosBuscados("Coach"); Assert.True(livros.Count == 2); }
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)); }
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>"); } }
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!"); }