BaseService.cs 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. namespace Admin.NET.Core;
  2. /// <summary>
  3. /// 实体操作基服务
  4. /// </summary>
  5. /// <typeparam name="TEntity"></typeparam>
  6. public class BaseService<TEntity> : IDynamicApiController where TEntity : class, new()
  7. {
  8. private readonly SqlSugarRepository<TEntity> _rep;
  9. public BaseService(SqlSugarRepository<TEntity> rep)
  10. {
  11. _rep = rep;
  12. }
  13. /// <summary>
  14. /// 获取实体详情
  15. /// </summary>
  16. /// <param name="id"></param>
  17. /// <returns></returns>
  18. [ApiDescriptionSettings(Name = "Detail")]
  19. [DisplayName("获取实体详情")]
  20. public async Task<TEntity> GetDetail(long id)
  21. {
  22. return await _rep.GetByIdAsync(id);
  23. }
  24. /// <summary>
  25. /// 获取实体集合
  26. /// </summary>
  27. /// <returns></returns>
  28. [ApiDescriptionSettings(Name = "List")]
  29. [DisplayName("获取实体集合")]
  30. public async Task<List<TEntity>> GetList()
  31. {
  32. return await _rep.GetListAsync();
  33. }
  34. ///// <summary>
  35. ///// 获取实体分页
  36. ///// </summary>
  37. ///// <param name="input"></param>
  38. ///// <returns></returns>
  39. //[ApiDescriptionSettings(Name = "Page")]
  40. //[DisplayName("获取实体分页")]
  41. //public async Task<SqlSugarPagedList<TEntity>> GetPage([FromQuery] BasePageInput input)
  42. //{
  43. // return await _rep.AsQueryable().ToPagedListAsync(input.Page, input.PageSize);
  44. //}
  45. /// <summary>
  46. /// 增加实体
  47. /// </summary>
  48. /// <param name="entity"></param>
  49. /// <returns></returns>
  50. [ApiDescriptionSettings(Name = "Add")]
  51. [DisplayName("增加实体")]
  52. public async Task<bool> Add(TEntity entity)
  53. {
  54. return await _rep.InsertAsync(entity);
  55. }
  56. /// <summary>
  57. /// 更新实体
  58. /// </summary>
  59. /// <param name="entity"></param>
  60. /// <returns></returns>
  61. [ApiDescriptionSettings(Name = "Update")]
  62. [DisplayName("更新实体")]
  63. public async Task<bool> Update(TEntity entity)
  64. {
  65. return await _rep.UpdateAsync(entity);
  66. }
  67. /// <summary>
  68. /// 删除实体
  69. /// </summary>
  70. /// <param name="id"></param>
  71. /// <returns></returns>
  72. [ApiDescriptionSettings(Name = "Delete")]
  73. [DisplayName("删除实体")]
  74. public async Task<bool> Delete(long id)
  75. {
  76. return await _rep.DeleteByIdAsync(id);
  77. }
  78. }