diff --git a/Biblioteca/Biblioteca.http b/Biblioteca/Biblioteca.http index 04685e6..8eeddf6 100644 --- a/Biblioteca/Biblioteca.http +++ b/Biblioteca/Biblioteca.http @@ -12,20 +12,19 @@ Accept: application/json Content-Type: application/json { - "isbn": "abc2", + "isbn": "abc4", "titulo": "teste", "autor": "teste" } ### Edita um livro -PUT {{url}}/livros/9780321741769 +PUT {{url}}/livros/abc4 Accept: application/json Content-Type: application/json { - "isbn": "9780321741769", - "titulo": "The C# Programming Language", + "titulo": "teste4", "autor": "Anders Hejlsberg, Mads Torgensen" } @@ -36,5 +35,5 @@ Accept: application/json ### Remove um livro -DELETE {{url}}/livros/9780321741769 +DELETE {{url}}/livros/abc4 Accept: application/json \ No newline at end of file diff --git a/Biblioteca/Program.cs b/Biblioteca/Program.cs index 00115e0..385ab87 100644 --- a/Biblioteca/Program.cs +++ b/Biblioteca/Program.cs @@ -1,52 +1,44 @@ using Biblioteca.Models; using Biblioteca.Repositories; -using Microsoft.AspNetCore.Mvc; var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); -app.MapGet("/", () => -{ - string[] saudacoes = ["Olá!", "こんにちは", "Привет", "Ողջույն"]; - - return saudacoes[Random.Shared.Next(saudacoes.Length)]; -}); - // Obtém uma lista com os livros registrados. app.MapGet("/livros", async () => { - var repo = new LivroRepository(); - var resultado = await repo.Obter(pagina: 1); + var repo = new LivroRepository(); + var res = await repo.Obter(pagina: 1); - return resultado; + return res; }); // Cria um novo livro. app.MapPost("/livros", async (Livro livro) => { - var repo = new LivroRepository(); - var resultado = await repo.Criar(livro); + var repo = new LivroRepository(); + var res = await repo.Criar(livro); - return resultado; + return res; }); // Edita um livro. app.MapPut("/livros/{isbn}", async (string isbn, Livro livro) => { - var repo = new LivroRepository(); - var resultado = await repo.Editar(isbn, livro); + var repo = new LivroRepository(); + var res = await repo.Editar(isbn, livro); - return resultado; + return res; }); // Obtém os dados de um livro individual. app.MapGet("/livros/{isbn}", async (string isbn) => { - var repo = new LivroRepository(); - var resultado = await repo.Obter(isbn); + var repo = new LivroRepository(); + var res = await repo.Obter(isbn); - return resultado; + return res; }); // Remove um livro. diff --git a/Biblioteca/Repositories/LivroRepository.cs b/Biblioteca/Repositories/LivroRepository.cs index a3b76f6..fe9bb33 100644 --- a/Biblioteca/Repositories/LivroRepository.cs +++ b/Biblioteca/Repositories/LivroRepository.cs @@ -16,7 +16,7 @@ public class LivroRepository var take = 30; var offset = take * Math.Max(pagina-1, 0); - var lista = new List(capacity: take); + var lista = new List(); cmd.CommandText = "SELECT Isbn, Titulo, Autor, Genero, Descricao, Foto, Keywords, Ativo, CriadoEm, AtualizadoEm FROM Livro ORDER BY CriadoEm LIMIT @offset,@take"; cmd.Parameters.AddWithValue("offset", offset); @@ -147,7 +147,6 @@ public class LivroRepository var livro = await Obter(isbn); - livro.Isbn = dados.Isbn?.Trim() ?? ""; livro.Titulo = dados.Titulo?.Trim() ?? ""; livro.Autor = dados.Autor?.Trim() ?? ""; livro.Genero = dados.Genero?.Trim() ?? ""; @@ -159,10 +158,11 @@ public class LivroRepository cmd.CommandText = @" UPDATE Livro SET - Isbn=@isbn, Titulo=@titulo, Autor=@autor, Genero=@genero, Descricao=@descricao, Foto=@foto, Keywords=@keywords, Status=@status, AtualizadoEm=@atualizadoem + Titulo=@titulo, Autor=@autor, Genero=@genero, Descricao=@descricao, Foto=@foto, Keywords=@keywords, AtualizadoEm=@atualizadoem + WHERE Isbn=@isbn "; - cmd.Parameters.AddWithValue("isbn", livro.Isbn); + cmd.Parameters.AddWithValue("isbn", isbn); cmd.Parameters.AddWithValue("titulo", livro.Titulo); cmd.Parameters.AddWithValue("autor", livro.Autor); cmd.Parameters.AddWithValue("genero", livro.Genero); @@ -183,7 +183,7 @@ public class LivroRepository await conn.OpenAsync(); - cmd.CommandText = "UPDATE Livro SET Ativo=0 WHERE Isbn=@isbn"; + cmd.CommandText = "UPDATE Livro SET Ativo=false WHERE Isbn=@isbn"; cmd.Parameters.AddWithValue("isbn", isbn); await cmd.ExecuteNonQueryAsync();