OrderSnapshotRepository.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using Hotline.Repository.SqlSugar.DataPermissions;
  2. using Hotline.Share.Dtos;
  3. using Hotline.Share.Tools;
  4. using Hotline.Snapshot;
  5. using Hotline.Snapshot.Interfaces;
  6. using Microsoft.AspNetCore.Http;
  7. using SqlSugar;
  8. using System;
  9. using System.Collections.Generic;
  10. using System.Linq;
  11. using System.Text;
  12. using System.Threading.Tasks;
  13. using XF.Domain.Authentications;
  14. using XF.Domain.Dependency;
  15. namespace Hotline.Repository.SqlSugar.Snapshot;
  16. public class OrderSnapshotRepository : BaseRepository<OrderSnapshot>, IOrderSnapshotRepository, IScopeDependency
  17. {
  18. private readonly ISessionContext _sessionContext;
  19. public OrderSnapshotRepository(ISugarUnitOfWork<HotlineDbContext> uow, IDataPermissionFilterBuilder dataPermissionFilterBuilder, ISessionContext sessionContext, IServiceProvider serviceProvider) : base(uow, dataPermissionFilterBuilder, serviceProvider)
  20. {
  21. _sessionContext = sessionContext;
  22. }
  23. public async Task<OrderSnapshot> GetByNetworkENumberAsync(string appealNumber)
  24. {
  25. return await Queryable().Where(m => m.NetworkENumber == appealNumber).FirstAsync();
  26. }
  27. public bool HasOrder(string orderId)
  28. {
  29. return Queryable().Any(m => m.Id == orderId);
  30. }
  31. public async Task<OrderSnapshot> UpdateSafetyAsync(string orderId, bool isSafety, string remark)
  32. {
  33. OrderSnapshot order = null;
  34. await GetAsync(orderId)
  35. .Then(async orderSnapshot =>
  36. {
  37. orderSnapshot.IsSafetyDepartment = isSafety;
  38. orderSnapshot.SignUserId = _sessionContext.UserId;
  39. orderSnapshot.SignUserName = _sessionContext.UserName;
  40. orderSnapshot.SignTime = DateTime.Now;
  41. orderSnapshot.SignRemark = remark;
  42. await UpdateAsync(orderSnapshot, CancellationToken.None);
  43. order = orderSnapshot;
  44. });
  45. return order;
  46. }
  47. }