RepositoryTask.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. using SqlSugar;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Linq.Expressions;
  6. using System.Text;
  7. using wms.dto;
  8. using wms.dto.request.hj;
  9. using wms.dto.request.hj.dto;
  10. using wms.sqlsugar.model;
  11. using wms.sqlsugar.model.hj;
  12. using wms.util.Check;
  13. using static wms.dto.request.hj.dto.ReportResponse;
  14. namespace wms.sqlsugar
  15. {
  16. /// <summary>
  17. /// 创建仓储
  18. /// </summary>
  19. /// <typeparam name="T"></typeparam>
  20. public class RepositoryTask<T> : SimpleClient<T> where T :class, new()
  21. {
  22. public RepositoryTask()
  23. {
  24. //固定数据库用法
  25. base.Context = SqlSugarHelper.Db.GetConnectionScopeWithAttr<T>();
  26. //动态库用法一般用于维护数据库连接字符串根据用法
  27. //if (!SqlSugarHelper.Db.IsAnyConnection("用户读出来的数据库ConfigId"))
  28. //{
  29. // SqlSugarHelper.Db.AddConnection(new ConnectionConfig() { 数据库读出来信息 });
  30. //}
  31. //base.Context = SqlSugarHelper.Db.GetConnectionScope("用户读出来的数据库ConfigId");
  32. }
  33. public T InsertReturnEntity(T t)
  34. {
  35. return base.Context.Insertable(t).ExecuteReturnEntity();
  36. }
  37. public int InsertableSplitTable(T t)
  38. {
  39. return base.Context.Insertable(t).SplitTable().ExecuteCommand();
  40. }
  41. /// <summary>
  42. /// 该方法默认不更新CreatedUserId,CreatedTime
  43. /// </summary>
  44. /// <param name="entity"></param>
  45. /// <returns></returns>
  46. public bool UpdateEntity(T entity)
  47. {
  48. return base.Context.Updateable(entity).IgnoreColumns(new string[] { "AddWho", "AddTime" }).ExecuteCommand() > 0;
  49. }
  50. public bool UpdateModelColumns(Expression<Func<T, T>> Columns, Expression<Func<T, bool>> WhereExpression)
  51. {
  52. return base.Update(Columns, WhereExpression);
  53. }
  54. public T GetModelByExpression(Expression<Func<T, bool>> WhereExpression)
  55. {
  56. return base.GetSingle(WhereExpression);
  57. }
  58. public List<hjSysConfig> GetTunList(TunnelRequest request)
  59. {
  60. var list = base.Context.Queryable<hjSysConfig>()
  61. .WhereIF(!string.IsNullOrEmpty(request.WareHouse), p => p.Default2 == request.WareHouse)
  62. .WhereIF(!string.IsNullOrEmpty(request.Tunnel), p => p.Default1 == request.Tunnel)
  63. .ToList();
  64. return list;
  65. }
  66. public bool UpdateTunStatu(long id, string statu, long userId)
  67. {
  68. return base.Context.Updateable<hjSysConfig>().SetColumns(it => new hjSysConfig()
  69. {
  70. SContent = statu,
  71. EditTime = DateTime.Now
  72. }).Where(it => it.Id == id).ExecuteCommand() > 0;
  73. }
  74. }
  75. }