From 734b66090a0e0a9ba366a3e6ff16bcd19cfeeec4 Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Bueno Date: Wed, 7 May 2025 17:11:17 -0300 Subject: [PATCH] =?UTF-8?q?finaliza=C3=A7=C3=A3o=20dos=20endpoints?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Biblioteca/Biblioteca.http | 9 +++--- Biblioteca/Program.cs | 32 ++++++++-------------- Biblioteca/Repositories/LivroRepository.cs | 10 +++---- 3 files changed, 21 insertions(+), 30 deletions(-) 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();