using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Authorization;
using SwaggerAntifraude.Servicios;

namespace SwaggerAntifraude.Controllers
{
    [ApiController]
    [Route("api/[controller]")]
    public class FormulariosController : ControllerBase
    {
        private readonly ServicioFormularios _servicioFormularios;

        public FormulariosController(ServicioFormularios servicioFormularios)
        {
            _servicioFormularios = servicioFormularios;
        }

        /// <summary>
        /// Genera un formulario en PDF según la clave y parámetros proporcionados.
        /// </summary>
        /// <param name="claveFormulario">Clave del formulario (TomPos, CumTri, SolTri, etc.)</param>
        /// <param name="idPersona">ID de la persona</param>
        /// <param name="Motivo">Motivo del formulario</param>
        /// <param name="texto1">Texto adicional 1</param>
        /// <param name="texto2">Texto adicional 2 (para algunos formularios)</param>
        /// <param name="FechaEfecto">Fecha de efecto</param>
        /// <param name="Organo">Órgano competente</param>
        /// <param name="FechaEmision">Fecha de emisión del formulario</param>
        /// <param name="Extra">Campo extra opcional, según el tipo de formulario</param>
        /// <returns>Archivo PDF resultante</returns>
        /// 


        //[HttpGet("GenerarFormulario")]
        //[Authorize(Policy = "LecturaPolicy")]
        //public IActionResult GenerarFormulario(
        //    [FromQuery] string claveFormulario,
        //    [FromQuery] string idPersona,
        //    [FromQuery] string Motivo,
        //    [FromQuery] string texto1,
        //    [FromQuery] string texto2,
        //    [FromQuery] string FechaEfecto,
        //    [FromQuery] string Organo,
        //    [FromQuery] string FechaEmision,
        //    [FromQuery] string Extra)
        //{
        //    var pdfBytes = _servicioFormularios.GenerarFormulario(
        //        claveFormulario,
        //        idPersona,
        //        Motivo,
        //        texto1,
        //        texto2,
        //        FechaEfecto,
        //        Organo,
        //        FechaEmision,
        //        Extra);

        //    if (pdfBytes == null || pdfBytes.Length == 0)
        //        return NotFound("No se pudo generar el formulario.");

        //    return File(pdfBytes, "application/pdf", "formulario.pdf");
        //}
   }
}
