40 lines
1.4 KiB
C#
40 lines
1.4 KiB
C#
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<SubjectVisit>(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<SubjectVisit>(t => t.Id == subjectVisitId)).IfNullThrowException();
|
|
}
|
|
|
|
if (subjectVisit!.CurrentActionUserId != _userInfo.Id)
|
|
{
|
|
throw new BusinessValidationFailedException("您不是该质控任务当前领取人,没有操作权限!");
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|