|
|
@ -1,12 +1,4 @@ |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Data; |
|
|
|
using System.Linq; |
|
|
|
using System.Linq.Expressions; |
|
|
|
using System.Reflection; |
|
|
|
using System.Text; |
|
|
|
using System.Threading.Tasks; |
|
|
|
using Magicodes.ExporterAndImporter.Core; |
|
|
|
using Magicodes.ExporterAndImporter.Core; |
|
|
|
using Magicodes.ExporterAndImporter.Core.Extension; |
|
|
|
using Magicodes.ExporterAndImporter.Excel; |
|
|
|
using Microsoft.AspNetCore.Authorization; |
|
|
@ -14,11 +6,20 @@ using Microsoft.AspNetCore.Http; |
|
|
|
using Microsoft.AspNetCore.Mvc; |
|
|
|
using Microsoft.Extensions.Configuration; |
|
|
|
using Microsoft.Extensions.DependencyInjection; |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Data; |
|
|
|
using System.Linq; |
|
|
|
using System.Linq.Expressions; |
|
|
|
using System.Reflection; |
|
|
|
using System.Text; |
|
|
|
using System.Threading.Tasks; |
|
|
|
using TaskManager.Entity; |
|
|
|
using TaskManager.EntityFramework; |
|
|
|
using TaskManager.EntityFramework.Repository; |
|
|
|
using Wood.Entity; |
|
|
|
using Wood.Util; |
|
|
|
using Wood.Util.Filters; |
|
|
|
|
|
|
|
|
|
|
|
namespace Wood.Service.Controllers |
|
|
@ -97,77 +98,126 @@ namespace Wood.Service.Controllers |
|
|
|
await _repository.DeleteAsync(id); |
|
|
|
return new JsonResult(new { Code = 200, Message = "删除成功!" }); ; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
///// <summary>
|
|
|
|
///// 分页
|
|
|
|
///// </summary>
|
|
|
|
///// <param name="pageNumber"></param>
|
|
|
|
///// <param name="pageSize"></param>
|
|
|
|
///// <param name="sortBy"></param>
|
|
|
|
///// <param name="isAscending"></param>
|
|
|
|
///// <param name="filters"></param>
|
|
|
|
///// <returns></returns>
|
|
|
|
//[HttpGet]
|
|
|
|
//public async Task<ActionResult> GetPaged(
|
|
|
|
//[FromQuery] int pageNumber = 1,
|
|
|
|
//[FromQuery] int pageSize = 10,
|
|
|
|
//[FromQuery] string sortBy = "",
|
|
|
|
//[FromQuery] bool isAscending = true,
|
|
|
|
//[FromQuery] Dictionary<string, string> filters = null)
|
|
|
|
//{
|
|
|
|
// var pagingParams = new PagingParams
|
|
|
|
// {
|
|
|
|
// PageNumber = pageNumber,
|
|
|
|
// PageSize = pageSize,
|
|
|
|
// SortBy = sortBy,
|
|
|
|
// IsAscending = isAscending,
|
|
|
|
// Filters = filters
|
|
|
|
// };
|
|
|
|
|
|
|
|
// // 可以在这里构建表达式树过滤条件
|
|
|
|
// Expression<Func<T, bool>> filter = null;
|
|
|
|
|
|
|
|
// var pagedResult = await _repository.GetPagedAsync(filter, pagingParams);
|
|
|
|
// return Ok(pagedResult);
|
|
|
|
//}
|
|
|
|
/// <summary>
|
|
|
|
/// 分页
|
|
|
|
/// 分页New
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="pageNumber"></param>
|
|
|
|
/// <param name="pageSize"></param>
|
|
|
|
/// <param name="sortBy"></param>
|
|
|
|
/// <param name="isAscending"></param>
|
|
|
|
/// <param name="filters"></param>
|
|
|
|
/// <param name="input"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
[HttpGet] |
|
|
|
public async Task<ActionResult> GetPaged( |
|
|
|
[FromQuery] int pageNumber = 1, |
|
|
|
[FromQuery] int pageSize = 10, |
|
|
|
[FromQuery] string sortBy = "", |
|
|
|
[FromQuery] bool isAscending = true, |
|
|
|
[FromQuery] Dictionary<string, string> filters = null) |
|
|
|
[HttpPost] |
|
|
|
public async Task<ActionResult<PagedResult<T>>> GetDataPaged(RequestInputBase input) |
|
|
|
{ |
|
|
|
var pagingParams = new PagingParams |
|
|
|
{ |
|
|
|
PageNumber = pageNumber, |
|
|
|
PageSize = pageSize, |
|
|
|
SortBy = sortBy, |
|
|
|
IsAscending = isAscending, |
|
|
|
Filters = filters |
|
|
|
PageNumber = input.pageNumber, |
|
|
|
PageSize = input.pageSize, |
|
|
|
SortBy = input.sortBy, |
|
|
|
IsAscending = input.isAscending, |
|
|
|
}; |
|
|
|
|
|
|
|
// 可以在这里构建表达式树过滤条件
|
|
|
|
Expression<Func<T, bool>> filter = null; |
|
|
|
|
|
|
|
var pagedResult = await _repository.GetPagedAsync(filter, pagingParams); |
|
|
|
var pagedResult = await _repository.GetDataPagedAsync(filter, pagingParams, input.Condition); |
|
|
|
return Ok(pagedResult); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 导出
|
|
|
|
/// 导出New
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="pageNumber"></param>
|
|
|
|
/// <param name="pageSize"></param>
|
|
|
|
/// <param name="sortBy"></param>
|
|
|
|
/// <param name="isAscending"></param>
|
|
|
|
/// <param name="filters"></param>
|
|
|
|
/// <param name="input"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
|
|
[HttpGet] |
|
|
|
public async Task<FileStreamResult> Export([FromQuery] int pageNumber = 1, |
|
|
|
[FromQuery] int pageSize = 10, |
|
|
|
[FromQuery] string sortBy = "", |
|
|
|
[FromQuery] bool isAscending = true, |
|
|
|
[FromQuery] Dictionary<string, string> filters = null) |
|
|
|
[HttpPost] |
|
|
|
public async Task<FileStreamResult> ExportData(RequestInputBase input) |
|
|
|
{ |
|
|
|
var pagingParams = new PagingParams |
|
|
|
{ |
|
|
|
PageNumber = pageNumber, |
|
|
|
PageSize = pageSize, |
|
|
|
SortBy = sortBy, |
|
|
|
IsAscending = isAscending, |
|
|
|
Filters = filters |
|
|
|
PageNumber = input.pageNumber, |
|
|
|
PageSize = input.pageSize, |
|
|
|
SortBy = input.sortBy, |
|
|
|
IsAscending = input.isAscending, |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
// 可以在这里构建表达式树过滤条件
|
|
|
|
//Expression<Func<T, bool>> filter = null;
|
|
|
|
|
|
|
|
var pagedResult = await _repository.GetPagedAsync(null, pagingParams); |
|
|
|
var pagedResult = await _repository.GetDataPagedAsync(null, pagingParams, input.Condition); |
|
|
|
return await ExportFile(pagedResult.Data, Guid.NewGuid().ToString() + ".xlsx"); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// /// <summary>
|
|
|
|
// /// 导出
|
|
|
|
// /// </summary>
|
|
|
|
// /// <param name="pageNumber"></param>
|
|
|
|
// /// <param name="pageSize"></param>
|
|
|
|
// /// <param name="sortBy"></param>
|
|
|
|
// /// <param name="isAscending"></param>
|
|
|
|
// /// <param name="filters"></param>
|
|
|
|
// /// <returns></returns>
|
|
|
|
|
|
|
|
// [HttpGet]
|
|
|
|
// public async Task<FileStreamResult> Export([FromQuery] int pageNumber = 1,
|
|
|
|
//[FromQuery] int pageSize = 10,
|
|
|
|
//[FromQuery] string sortBy = "",
|
|
|
|
//[FromQuery] bool isAscending = true,
|
|
|
|
//[FromQuery] Dictionary<string, string> filters = null)
|
|
|
|
// {
|
|
|
|
// var pagingParams = new PagingParams
|
|
|
|
// {
|
|
|
|
// PageNumber = pageNumber,
|
|
|
|
// PageSize = pageSize,
|
|
|
|
// SortBy = sortBy,
|
|
|
|
// IsAscending = isAscending,
|
|
|
|
// Filters = filters
|
|
|
|
// };
|
|
|
|
|
|
|
|
// // 可以在这里构建表达式树过滤条件
|
|
|
|
// //Expression<Func<T, bool>> filter = null;
|
|
|
|
|
|
|
|
// var pagedResult = await _repository.GetPagedAsync(null, pagingParams);
|
|
|
|
// return await ExportFile(pagedResult.Data, Guid.NewGuid().ToString() + ".xlsx");
|
|
|
|
|
|
|
|
|
|
|
|
// }
|
|
|
|
protected async Task<FileStreamResult> ExportFile(ICollection<T> dtos, string fileName) |
|
|
|
{ |
|
|
|
var excelExporter = HttpContext.RequestServices.GetRequiredService<IExcelExporter>(); |
|
|
|