using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Infrastructure; namespace IRaCIS.Core.Application.Service.Verify { public static class QCCommonVerify { public static async Task VerifyIsCRCSubmmitAsync(IRepository _repository, IUserInfo _userInfo, Guid? subjectVisitId=null) { //添加的时候不验证 if (subjectVisitId != null) { if (await _repository.AnyAsync(t => t.Id == subjectVisitId && t.SubmitState == SubmitStateEnum.Submitted && (!t.QCChallengeList.Any(u => u.ReuploadEnum == QCChanllengeReuploadEnum.QCAgreeUpload)))) { throw new BusinessValidationFailedException("CRC 已提交影像,不能进行操作。"); } } } public static async Task VerifyIsCanQCAsync(IRepository _repository,IUserInfo _userInfo, SubjectVisit? subjectVisit=null, Guid? subjectVisitId=null) { if (subjectVisitId != null) { subjectVisit = (await _repository.FirstOrDefaultAsync(t => t.Id == subjectVisitId)).IfNullThrowException(); } if (subjectVisit!.CurrentActionUserId != _userInfo.Id) { throw new BusinessValidationFailedException("您不是该质控任务当前领取人,没有操作权限!"); } } } }