Untitled
unknown
plain_text
2 years ago
3.4 kB
8
Indexable
namespace FlFi.Membership.API.Controllers { [Route("api/[controller]")] [ApiController] public class GenresController : ControllerBase { private readonly IDbService _db; public GenresController(IDbService db) => _db = db; [HttpGet] public async Task<IResult> Get() { try { List<GenreDTO>? Genre = await _db.GetAsync<Genre, GenreDTO>(); return Results.Ok(Genre); } catch (Exception ex) { } return Results.NotFound(); } // GET api/<GenresController>/5 [HttpGet("{id}")] public async Task<IResult> Get(int id) { try { var genre = await _db.SingleAsync<Genre, GenreDTO>(f => f.Id.Equals(id)); if (genre is null) return Results.NotFound(); //Fråga detta return Results.Ok(genre); } catch (Exception ex) { } return Results.NotFound(); } // POST api/<GenresController> [HttpPost] public async Task<IResult> Post([FromBody] GenreDTO dto) { try { if (dto == null) return Results.BadRequest(); var genre = await _db.AddAsync<Genre, GenreDTO>(dto); var success = await _db.SaveChangesAsync(); if (!success) return Results.BadRequest(); return Results.Created(_db.GetURI<Genre>(genre), genre); } catch (Exception ex) { } return Results.BadRequest(); } // PUT api/<GenresController>/5 [HttpPut("{id}")] public async Task<IResult> Put(int id, [FromBody] GenreDTO dto) { try { if (dto == null) return Results.BadRequest("No entity provided"); if (!id.Equals(dto.Id)) return Results.BadRequest("Differing ids"); var exists = await _db.AnyAsync<Genre>(d => d.Id.Equals(id)); if (!exists) return Results.NotFound("Could not find related entity"); exists = await _db.AnyAsync<Genre>(d => d.Id.Equals(id)); if (!exists) return Results.NotFound("Could not find entity"); _db.Update<Genre, GenreDTO>(dto.Id, dto); var success = await _db.SaveChangesAsync(); if (!success) return Results.BadRequest(); return Results.NoContent(); } catch (Exception ex) { } return Results.BadRequest("Unable to update the entity"); } // DELETE api/<GenresController>/5 [HttpDelete("{id}")] public async Task<IResult> Delete(int id) { try { var success = await _db.DeleteAsync<Genre>(id); if (!success) return Results.NotFound(); success = await _db.SaveChangesAsync(); if (!success) return Results.BadRequest(); return Results.NoContent(); } catch { } return Results.BadRequest(); } }
Editor is loading...