SqlSugarUnitOfWork.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. namespace Admin.NET.Core;
  2. /// <summary>
  3. /// SqlSugar工作单元模式
  4. /// </summary>
  5. [SuppressSniffer]
  6. public sealed class SqlSugarUnitOfWork : IUnitOfWork
  7. {
  8. /// <summary>
  9. /// SqlSugar 对象
  10. /// </summary>
  11. private readonly SqlSugarClient _sqlSugarClient;
  12. /// <summary>
  13. /// 构造函数
  14. /// </summary>
  15. /// <param name="sqlSugarClient"></param>
  16. public SqlSugarUnitOfWork(ISqlSugarClient sqlSugarClient)
  17. {
  18. _sqlSugarClient = (SqlSugarClient)sqlSugarClient;
  19. }
  20. /// <summary>
  21. /// 工作单元未标记处理
  22. /// </summary>
  23. /// <param name="resultContext"></param>
  24. /// <param name="isManual"></param>
  25. /// <exception cref="NotImplementedException"></exception>
  26. public void OnUnmark(ActionExecutedContext resultContext, bool isManual)
  27. {
  28. }
  29. /// <summary>
  30. /// 开启工作单元处理
  31. /// </summary>
  32. /// <param name="context"></param>
  33. /// <param name="unitOfwork"></param>
  34. /// <param name="isManual"></param>
  35. /// <exception cref="NotImplementedException"></exception>
  36. public void BeginTransaction(ActionExecutingContext context, UnitOfWorkAttribute unitOfwork, bool isManual)
  37. {
  38. _sqlSugarClient.BeginTran();
  39. }
  40. /// <summary>
  41. /// 提交工作单元处理
  42. /// </summary>
  43. /// <param name="resultContext"></param>
  44. /// <param name="unitOfwork"></param>
  45. /// <param name="isManual"></param>
  46. /// <exception cref="NotImplementedException"></exception>
  47. public void CommitTransaction(ActionExecutedContext resultContext, UnitOfWorkAttribute unitOfwork, bool isManual)
  48. {
  49. _sqlSugarClient.CommitTran();
  50. }
  51. /// <summary>
  52. /// 回滚工作单元处理
  53. /// </summary>
  54. /// <param name="resultContext"></param>
  55. /// <param name="unitOfwork"></param>
  56. /// <param name="isManual"></param>
  57. /// <exception cref="NotImplementedException"></exception>
  58. public void RollbackTransaction(ActionExecutedContext resultContext, UnitOfWorkAttribute unitOfwork, bool isManual)
  59. {
  60. _sqlSugarClient.RollbackTran();
  61. }
  62. /// <summary>
  63. /// 执行完毕(无论成功失败)
  64. /// </summary>
  65. /// <param name="context"></param>
  66. /// <param name="resultContext"></param>
  67. /// <exception cref="NotImplementedException"></exception>
  68. public void OnCompleted(ActionExecutingContext context, ActionExecutedContext resultContext)
  69. {
  70. _sqlSugarClient.Dispose();
  71. }
  72. }