//using Ao.Lang;
//using CMS.Extensions.Abp.AspNetCore.Mvc.Filters;
//using CMS.Plugin.WareCmsUtilityApi.Application.Contracts.Dtos.Samples;
//using CMS.Plugin.WareCmsUtilityApi.Application.Contracts.Services;
//using Microsoft.AspNetCore.Authorization;
//using Microsoft.AspNetCore.Http;
//using Microsoft.AspNetCore.Mvc;
//using MiniExcelLibs;
//using System.Reflection;
//using Volo.Abp;
//using Volo.Abp.Application.Dtos;
//namespace CMS.Plugin.WareCmsUtilityApi.Controller
//{
// ///
// /// Sample服务
// ///
// [ApiController]
// [TypeFilter(typeof(CMSLanguageFilter))]
// [TypeFilter(typeof(CMSUowActionFilter))]
// [TypeFilter(typeof(CMSAuditActionFilter))]
// [TypeFilter(typeof(CMSExceptionFilter))]
// [Route("api/v{version:apiVersion}/WareCmsUtilityApi/[controller]")]
// public class SampleController : ControllerBase
// {
// private readonly ISampleAppService _sampleAppService;
// ///
// /// Initializes a new instance of the class.
// ///
// /// The sample application service.
// public SampleController(ISampleAppService sampleAppService)
// {
// _sampleAppService = sampleAppService;
// }
// ///
// /// 获取sample.
// ///
// /// 标识符.
// ///
// [HttpGet]
// [Route("{id}")]
// public virtual Task GetAsync(Guid id)
// {
// return _sampleAppService.GetAsync(id);
// }
// ///
// /// 获取sample的列表.
// ///
// /// 输入.
// ///
// [HttpGet]
// public virtual Task> GetListAsync([FromQuery] GetSamplesInput input)
// {
// return _sampleAppService.GetListAsync(input);
// }
// ///
// /// 创建sample.
// ///
// /// 输入.
// ///
// //[Authorize]
// [HttpPost]
// public virtual Task CreateAsync(SampleCreateDto input)
// {
// return _sampleAppService.CreateAsync(input);
// }
// ///
// /// 更新sample.
// ///
// /// 标识符.
// /// 输入.
// ///
// //[Authorize]
// [HttpPut]
// [Route("{id}")]
// public virtual Task UpdateAsync(Guid id, SampleUpdateDto input)
// {
// return _sampleAppService.UpdateAsync(id, input);
// }
// ///
// /// 克隆Sample.
// ///
// /// Id集合.
// ///
// //[Authorize]
// [HttpPost]
// [Route("Clone")]
// public virtual Task> CloneAsync([FromBody] IEnumerable ids)
// {
// return _sampleAppService.CloneAsync(ids);
// }
// ///
// /// 删除sample.
// ///
// /// 标识符.
// ///
// //[Authorize]
// [HttpDelete]
// [Route("{id}")]
// public virtual Task DeleteAsync(Guid id)
// {
// return _sampleAppService.DeleteAsync(id);
// }
// ///
// /// 批量删除sample.
// ///
// /// The ids.
// ///
// //[Authorize]
// [HttpDelete]
// public virtual Task DeleteAsync([FromBody] IEnumerable ids)
// {
// return _sampleAppService.DeleteManyAsync(ids);
// }
// ///
// /// 调整排序.
// ///
// /// 标识符.
// ///
// [HttpPut]
// [Route("{id}/AdjustSort/{sort}")]
// public virtual Task AdjustSortAsync(Guid id, int sort)
// {
// return _sampleAppService.AdjustSortAsync(id, sort);
// }
// ///
// /// 导入sample.
// ///
// ///
// [Authorize]
// [HttpPost]
// [Route("Import")]
// public virtual async Task ImportAsync(IFormFile file)
// {
// using var stream = new MemoryStream();
// await file.CopyToAsync(stream);
// stream.Seek(0L, SeekOrigin.Begin);
// var sheetNames = stream.GetSheetNames();
// var sampleRows = sheetNames.Contains("配置") ? MiniExcel.Query(stream, sheetName: "配置").ToList() : new();
// if (!sampleRows.Any())
// {
// throw new UserFriendlyException("请检查导入的表格");
// }
// await _sampleAppService.ImportAsync(new SamplesImportModel
// {
// Samples = sampleRows,
// });
// return Ok();
// }
// ///
// /// 导出sample.
// ///
// ///
// [HttpGet]
// [Route("Export")]
// public virtual async Task ExportAsync([FromQuery] GetSamplesInput input)
// {
// input.MaxResultCount = int.MaxValue;
// var exportData = await _sampleAppService.ExportAsync(input);
// var templatePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"Resources/Templates/Sample导出模板.xlsx");
// if (!System.IO.File.Exists(templatePath))
// {
// templatePath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) ?? string.Empty, $"Resources/Templates/Sample导出模板.xlsx");
// }
// var memoryStream = new MemoryStream();
// await memoryStream.SaveAsByTemplateAsync(templatePath, exportData.Sheets);
// memoryStream.Seek(0L, SeekOrigin.Begin);
// return new FileStreamResult(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") { FileDownloadName = $"{exportData.FileName}_{DateTime.Now:yyyyMMddhhmmss}.xlsx" };
// }
// }
//}