Untitled

 avatar
unknown
plain_text
2 years ago
2.2 kB
5
Indexable
using FlFi.Common.DTOs;
using FlFI.Membership.Database.Entities;
using Microsoft.AspNetCore.Mvc;

// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860

namespace FlFi.Membership.API.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class FilmsController : ControllerBase
    {
        private readonly IDbService _db;
        public FilmsController(IDbService db) => _db = db;

        [HttpGet]
        public async Task<IResult> Get()
        {
            try
            {
                _db.Include<Director>();

                List<FilmDTO>? films = await _db.GetAsync<Film, FilmDTO>();

                //List<FilmDTO>? films = freeOnly ?
                //await _db.GetAsync<Film, FilmDTO>(f => f.Free.Equals(freeOnly)) :
                //await _db.GetAsync<Film, FilmDTO>();

                return Results.Ok(films);

            }
            catch (Exception ex)
            {

            }
            return Results.NotFound();
        }

        // GET api/<FilmsController>/5
        [HttpGet("{id}")]
        public async Task<IResult> Get(int id)
        {
            try
            {
                _db.Include<Director>();
                _db.Include<Genre>();
                var film = await _db.SingleAsync<Film, FilmDTO>(f => f.Id.Equals(id));

                return Results.Ok(film);
            }
            catch (Exception ex) 
            {
            }
            return Results.NotFound();
        }

        // POST api/<FilmsController>
        [HttpPost]
        public async Task<IResult> Post([FromBody] FilmEditDTO dto)
        {
            try
            {

            }
            catch (Exception ex)
            {

            }
            return Results.NotFound();
        }

        // PUT api/<FilmsController>/5
        [HttpPut("{id}")]
        public void Put(int id, [FromBody] string value)
        {
        }

        // DELETE api/<FilmsController>/5
        [HttpDelete("{id}")]
        public void Delete(int id)
        {
        }
    }
}
Editor is loading...