using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Threading.Tasks; using VOL.Business.IServices; using VOL.Business.IServices.School; using VOL.Business.Services; using VOL.Business.Services.Norm; using VOL.Business.Services.School; using VOL.Core.Filters; using VOL.Core.ManageUser; using VOL.Core.Utilities; using VOL.Model; using VOL.Model.Norm.Request; namespace VOL.WebApi.Controllers.Business { /// /// 赛事报名管理 /// [Route("api/[controller]")] [ApiController] [ApiExplorerSettings(GroupName = "v3")] [TypeFilter(typeof(CustomApiResponseFilter))] public class ActivitiesEntryController : ControllerBase { #region 初始化 private readonly IG_ActivitiesEntryService _activitiesEntryService; public ActivitiesEntryController( IG_ActivitiesEntryService activitiesEntryService) { _activitiesEntryService = activitiesEntryService; } #endregion /// /// 分页列表 /// /// [HttpGet(nameof(GetActivitiesEntryPageList))] public async Task> GetActivitiesEntryPageList(ActivitiesEntryPageListParam paramDto) { return await _activitiesEntryService.GetActivitiesEntryPageList(paramDto); } /// /// 导出 /// /// /// [HttpGet(nameof(Export))] public async Task Export(ActivitiesEntryExportParam paramDto) { var rseList = await _activitiesEntryService.GetActivitiesEntryList(paramDto); var disList = new Dictionary>(); disList.Add("赛事报名列表", rseList); var exportColumns = Tool.GetPropertyNames(); var excelBytes = Tool.ExportToExcel(disList, exportColumns); Response.Headers.Add("Content-Disposition", "attachment; filename=ExportedData.xlsx"); Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; return File(excelBytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", $"赛事报名列表{DateTime.Now.ToString("yyyyMMddHHmmss")}"); } /// /// 报名 /// /// /// [HttpPost(nameof(Add))] public async Task Add([FromBody] AddActivitiesEntryParam paramDto) { await _activitiesEntryService.AddActivitiesEntry(paramDto); return Ok("新增成功"); } /// /// 更新 /// /// /// [HttpPost(nameof(Modify))] public async Task Modify([FromBody] AddActivitiesEntryParam paramDto) { await _activitiesEntryService.ModifyActivitiesEntry(paramDto); return Ok("更新成功"); } /// /// 取消报名 /// /// /// [HttpPost(nameof(Delete))] public async Task Delete(int id) { await _activitiesEntryService.DeleteActivitiesEntry(id); return Ok("删除成功"); } /// /// 详情 /// /// /// [HttpPost(nameof(Details))] public async Task Details(int id) { return await _activitiesEntryService.Details(id); } } }