Untitled
unknown
plain_text
3 years ago
2.6 kB
10
Indexable
using FlFi.Common.DTOs;
using FlFI.Membership.Database.Entities;
using Microsoft.AspNetCore.Mvc;
namespace FlFi.Membership.API.Controllers
{
[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...