using langguanApi.Model;
using langguanApi.Service;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.IO;
namespace langguanApi.Controllers
{
    /// 
    /// 台账相关接口
    /// 
    [Route("api/[controller]")]
    [ApiController]
    public class LedgerController : ControllerBase
    {
        private readonly LedgerService _ledgerService;
        public LedgerController(LedgerService ledgerService)
        {
            _ledgerService = ledgerService;
        }
        /// 
        /// Get all ledgers
        /// 
        /// 
        [HttpGet("list")]
        public async Task list([FromQuery]reqpage input)
        {
            var result = await _ledgerService.GetPage(input);
            return Ok(result);
        }
        /// 
        /// Export all ledgers
        /// 
        /// 
        /// 
        /// 
        [HttpGet("export")]
        public async Task Export(DateTime start, DateTime end)
        {
            var result = await _ledgerService.Export(start, end);
            return File(result, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "台账.xlsx");
        }
    }
}