革博士程序V1仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

112 regels
4.8 KiB

  1. using Models;
  2. using SqlSugar;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Linq.Expressions;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace Service
  10. {
  11. public class ProductService : Repository<Models.Product>
  12. {
  13. //更新选项
  14. //public class UpdateNavRootOptions
  15. //{
  16. // public string[] IgnoreColumns { get; set; }//主表更新忽略列(实体配置特性也可以方便的实现)
  17. // public string[] UpdateColumns { get; set; }//只更新哪几列
  18. // public bool IsInsertRoot { get; set; }//强制插入主表 可以实现 更新或者插入效果
  19. // public string[] IgnoreInsertColumns { get; set; }//主表启用插入忽略列 5.1.3.58
  20. // public bool IsDiffLogEvent { get; set; }//启用主表差异日志
  21. // public object DiffLogBizData { get; set; }//差异日志参数
  22. // public bool IsDisableUpdateRoot { get; set; }//禁更新主表5.1.3.33-preview05
  23. //}
  24. public List<Product> GetListNav()
  25. {
  26. return base.AsSugarClient().Queryable<Product>()
  27. //.Includes(m => m.ClassesInfo)
  28. .Includes(m => m.QualifiedLimitList)
  29. .Includes(m => m.GradeLimitList)
  30. .ToList();
  31. }
  32. //分页查询
  33. public List<Product> GetListNav(int pageNum, int pageSize, ref int totalCount, Expression<Func<Product, bool>> exp)
  34. {
  35. return base.AsSugarClient().Queryable<Product>()
  36. .WhereIF(exp != null, exp)
  37. .OrderByDescending(m => m.CreateTime)
  38. .ToPageList(pageNum, pageSize, ref totalCount);
  39. }
  40. public Product GetModelNav(int id)
  41. {
  42. return base.AsSugarClient().Queryable<Product>()
  43. //.Includes(m => m.ClassesInfo)
  44. .Includes(m => m.QualifiedLimitList)
  45. .Includes(m => m.GradeLimitList)
  46. .First(m => m.Id == id);
  47. }
  48. public Product GetModelNav(string code)
  49. {
  50. return base.AsSugarClient().Queryable<Product>()
  51. //.Includes(m => m.ClassesInfo)
  52. .Includes(m => m.QualifiedLimitList)
  53. .Includes(m => m.GradeLimitList)
  54. .First(m => m.Code == code);
  55. }
  56. public bool InsertNav(Models.Product model)
  57. {
  58. return base.AsSugarClient().InsertNav(model)
  59. //.Include(a => a.ProductParamsList)//.ThenInclude(z1 => z1.RoomList) //插入2层 Root->ShoolA->RoomList
  60. .Include(m => m.QualifiedLimitList)
  61. .Include(m => m.GradeLimitList)
  62. .ExecuteCommand();
  63. }
  64. public bool UpdateNav(Models.Product model)
  65. {
  66. return base.AsSugarClient().UpdateNav(model)
  67. .Include(m => m.QualifiedLimitList)
  68. .Include(m => m.GradeLimitList)
  69. .ExecuteCommand();
  70. }
  71. public bool DelNav(Models.Product model)
  72. {
  73. return base.AsSugarClient().DeleteNav(model)
  74. .Include(m => m.QualifiedLimitList)
  75. .Include(m => m.GradeLimitList)
  76. .ExecuteCommand();
  77. }
  78. ///// <summary>
  79. ///// 注:导航更新子表时会先把子表当前pid全delete再重新insert,即使子表数据和Id都没变动
  80. ///// </summary>
  81. ///// <param name="model"></param>
  82. ///// <param name="rootOption"></param>
  83. ///// <returns></returns>
  84. //public bool UpdateNav(Models.Product model, UpdateNavRootOptions rootOption = null)
  85. //{
  86. // return base.AsSugarClient().UpdateNav(model, rootOption)
  87. // //会先把子表当前pid全delete再重新insert,即使子表数据和Id都没变动
  88. // //.Include(a => a.ProductParamsList)//.ThenInclude(z1 => z1.RoomList) //插入2层 Root->ShoolA->RoomList
  89. // .ExecuteCommand();
  90. //}
  91. //public bool DelNav(Models.Product model)
  92. //{
  93. // return base.AsSugarClient().DeleteNav(model)
  94. // //.Include(a => a.ProductParamsList)//.ThenInclude(z1 => z1.RoomList) //插入2层 Root->ShoolA->RoomList
  95. // .ExecuteCommand();
  96. //}
  97. //分页
  98. //public List<Models.User> GetOrderPage(Expression<Func<Models.User, bool>> where, int pagesize, int pageindex)
  99. //{
  100. // return base.GetPageList(where, new SqlSugar.PageModel() { PageIndex = pageindex, PageSize = pagesize }); //使用自已的仓储方法
  101. //}
  102. //调用仓储扩展方法
  103. //public List<Models.User> GetOrderByJson(string Json)
  104. //{
  105. // return base.CommQuery(Json);
  106. //}
  107. }
  108. }