增加QC 添加质疑触发逻辑
parent
df04878154
commit
a9c9486162
|
@ -43,7 +43,9 @@ public class QCRepliedQCChallengeEvent : DomainEvent
|
||||||
|
|
||||||
public bool IsPd { get; set; }
|
public bool IsPd { get; set; }
|
||||||
|
|
||||||
public Guid QCChallengeDialogId { get; set; }
|
public Guid? QCChallengeDialogId { get; set; }
|
||||||
|
|
||||||
|
public Guid? QCChallengeId { get; set; }
|
||||||
|
|
||||||
public Guid TrialId { get; set; }
|
public Guid TrialId { get; set; }
|
||||||
|
|
||||||
|
@ -52,6 +54,8 @@ public class QCRepliedQCChallengeEvent : DomainEvent
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// CRC 回复一致性核查质疑 通知PM
|
/// CRC 回复一致性核查质疑 通知PM
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -82,7 +82,7 @@ public static class DBContext_Ext
|
||||||
originAuditState == AuditStateEnum.None && subjectVisit.AuditState == AuditStateEnum.ToAudit
|
originAuditState == AuditStateEnum.None && subjectVisit.AuditState == AuditStateEnum.ToAudit
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
subjectVisit.AddDomainEvent(new CRCSubmitedAndQCToAuditEvent() { SubjectVisitId = subjectVisit.Id,IsPd= subjectVisit.PDState == PDStateEnum.PDProgress });
|
subjectVisit.AddDomainEvent(new CRCSubmitedAndQCToAuditEvent() { SubjectVisitId = subjectVisit.Id, IsPd = subjectVisit.PDState == PDStateEnum.PDProgress });
|
||||||
}
|
}
|
||||||
|
|
||||||
//一致性核查通知PM发送邮件
|
//一致性核查通知PM发送邮件
|
||||||
|
@ -96,10 +96,10 @@ public static class DBContext_Ext
|
||||||
{
|
{
|
||||||
var businessEnum = subjectVisit.IsEnrollmentConfirm ? EmailBusinessScenario.EligibilityVerification_PendingImageQC : EmailBusinessScenario.PDVerification_PendingImageQC;
|
var businessEnum = subjectVisit.IsEnrollmentConfirm ? EmailBusinessScenario.EligibilityVerification_PendingImageQC : EmailBusinessScenario.PDVerification_PendingImageQC;
|
||||||
|
|
||||||
var delaySeconds = dbContext.TrialEmailNoticeConfig.Where(t => t.BusinessScenarioEnum == businessEnum)
|
var delaySeconds = dbContext.TrialEmailNoticeConfig.Where(t => t.BusinessScenarioEnum == businessEnum)
|
||||||
.Select(t => t.EmailDelaySeconds).FirstOrDefault();
|
.Select(t => t.EmailDelaySeconds).FirstOrDefault();
|
||||||
|
|
||||||
subjectVisit.AddDomainEvent(new QCClaimTaskEvent() { IsPd = subjectVisit.PDState == PDStateEnum.PDProgress, SubjectVisitId = subjectVisit.Id, DelaySeconds= delaySeconds, CurrentActionUserId = (Guid)subjectVisit.CurrentActionUserId });
|
subjectVisit.AddDomainEvent(new QCClaimTaskEvent() { IsPd = subjectVisit.PDState == PDStateEnum.PDProgress, SubjectVisitId = subjectVisit.Id, DelaySeconds = delaySeconds, CurrentActionUserId = (Guid)subjectVisit.CurrentActionUserId });
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,6 +110,30 @@ public static class DBContext_Ext
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach (var entry in changeTracker.Entries<QCChallenge>())
|
||||||
|
{
|
||||||
|
var qCChallenge = entry.Entity;
|
||||||
|
|
||||||
|
var findSubjectVisit = dbContext.SubjectVisit.Where(t => t.Id == qCChallenge.SubjectVisitId)
|
||||||
|
.Select(t => new { IsEnrollmentConfirm = t.IsEnrollmentConfirm, PDState = t.PDState, t.Id, t.TrialId }).FirstOrDefault().IfNullThrowException();
|
||||||
|
|
||||||
|
//入组或者PD 才执行下面的逻辑
|
||||||
|
if ((findSubjectVisit.IsEnrollmentConfirm || findSubjectVisit.PDState == PDStateEnum.PDProgress))
|
||||||
|
{
|
||||||
|
|
||||||
|
if (entry.State == EntityState.Added)
|
||||||
|
{
|
||||||
|
qCChallenge.AddDomainEvent(new QCRepliedQCChallengeEvent() { IsPd = findSubjectVisit.PDState == PDStateEnum.PDProgress,
|
||||||
|
QCChallengeId = qCChallenge.Id, SubjectVisitId = findSubjectVisit.Id, TrialId = findSubjectVisit.TrialId });
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//添加进记录
|
||||||
|
eventStoreList.AddRange(GetStoreEvents(qCChallenge.DomainEvents));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
foreach (var entry in changeTracker.Entries<QCChallengeDialog>())
|
foreach (var entry in changeTracker.Entries<QCChallengeDialog>())
|
||||||
{
|
{
|
||||||
var qCChallengeDialog = entry.Entity;
|
var qCChallengeDialog = entry.Entity;
|
||||||
|
|
Loading…
Reference in New Issue