Untitled
unknown
plain_text
3 years ago
1.8 kB
7
Indexable
[Route("api/[controller]")]
[ApiController]
public class FilmGenresController : ControllerBase
{
private readonly IDbService _db;
public FilmGenresController(IDbService db) => _db = db;
// GET: api/<GenresController>
[HttpGet]
public async Task<IResult> Get()
{
try
{
List<FilmGenreDTO>? filmGenre = await _db.GetReferenceAsync<FilmGenre, FilmGenreDTO>();
return Results.Ok(filmGenre);
}
catch { }
return Results.NotFound();
}
// GET api/<GenresController>/5
[HttpGet("{id}")]
public async Task<IResult> Get(int id)
{
try
{
//_db.Include<Genre>();
//_db.Include<Director>();
var genre = await _db.SingleAsync<Genre, GenreDTO>(d => d.Id.Equals(id));
if (genre == null) return Results.NotFound();
return Results.Ok(genre);
}
catch (Exception ex) { }
return Results.NotFound();
}
// POST api/<GenresController>
[HttpPost]
public async Task<IResult> Post([FromBody] FilmGenreDTO filmGenre)
{
try
{
if (filmGenre == null) return Results.BadRequest();
var filmGenres = await _db.AddReferenceAsync<FilmGenre, FilmGenreDTO>(filmGenre);
var success = await _db.SaveChangesAsync();
if (!success) return Results.BadRequest();
return Results.Created("Api/SimilarFilms", filmGenres);
}
catch { }
return Results.BadRequest();
}
// DELETE api/<GenresController>/5
[HttpDelete("{id}")]
public async Task<IResult> Delete(FilmGenreDTO dto)
{
try
{
var success = _db.Delete<FilmGenre, FilmGenreDTO>(dto);
if (!success) return Results.NotFound();
success = await _db.SaveChangesAsync();
if (!success) return Results.BadRequest();
return Results.NoContent();
}
catch { }
return Results.BadRequest();
}
}Editor is loading...