irc-netcore-api/IRaCIS.Core.Application/Service/QC/QCCommonVerify.cs

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("您不是该质控任务当前领取人,没有操作权限!");
}
}
}
}