领域事件修改
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
464f70f501
commit
2ee34b8e7c
|
@ -63,17 +63,13 @@ public static class DBContext_Ext
|
|||
{
|
||||
var subjectVisit = entry.Entity;
|
||||
|
||||
////跟踪的方式查询 不会查询数据库多次
|
||||
//var findTrial = dbContext.Trial.Find(subjectVisit.TrialId);
|
||||
|
||||
//入组或者PD 才执行下面的逻辑
|
||||
if (/*findTrial != null && findTrial.IsEnrollementQualificationConfirm && findTrial.IsPDProgressView && */
|
||||
(subjectVisit.IsEnrollmentConfirm || subjectVisit.PDState == PDStateEnum.PDProgress))
|
||||
{
|
||||
var originSubmitState = entry.Property(p => p.SubmitState).OriginalValue;
|
||||
var originAuditState = entry.Property(p => p.AuditState).OriginalValue;
|
||||
var originCheckState = entry.Property(p => p.CheckState).OriginalValue;
|
||||
|
||||
//入组或者PD 才执行下面的逻辑
|
||||
if ((subjectVisit.IsEnrollmentConfirm || subjectVisit.PDState == PDStateEnum.PDProgress))
|
||||
{
|
||||
//质控状态变为待审核的时候
|
||||
|
||||
if (originSubmitState == SubmitStateEnum.ToSubmit && subjectVisit.SubmitState == SubmitStateEnum.Submitted &&
|
||||
|
@ -102,9 +98,8 @@ public static class DBContext_Ext
|
|||
{
|
||||
var qCChallengeDialog = entry.Entity;
|
||||
|
||||
//跟踪的方式查询 不会查询数据库多次
|
||||
var findSubjectVisit = dbContext.SubjectVisit.Find(qCChallengeDialog.SubjectVisitId).IfNullThrowException();
|
||||
//var findTrial = dbContext.Trial.Find(findSubjectVisit.TrialId);
|
||||
var findSubjectVisit = dbContext.SubjectVisit.Where(t => t.Id == qCChallengeDialog.SubjectVisitId)
|
||||
.Select(t => new { IsEnrollmentConfirm = t.IsEnrollmentConfirm, PDState = t.PDState, t.Id, t.TrialId }).FirstOrDefault().IfNullThrowException();
|
||||
|
||||
//入组或者PD 才执行下面的逻辑
|
||||
if ((findSubjectVisit.IsEnrollmentConfirm || findSubjectVisit.PDState == PDStateEnum.PDProgress))
|
||||
|
@ -131,8 +126,8 @@ public static class DBContext_Ext
|
|||
{
|
||||
var checkChallengeDialog = entry.Entity;
|
||||
|
||||
//跟踪的方式查询 不会查询数据库多次
|
||||
var findSubjectVisit = dbContext.SubjectVisit.Find(checkChallengeDialog.SubjectVisitId).IfNullThrowException();
|
||||
var findSubjectVisit = dbContext.SubjectVisit.Where(t => t.Id == checkChallengeDialog.SubjectVisitId)
|
||||
.Select(t => new { IsEnrollmentConfirm = t.IsEnrollmentConfirm, PDState = t.PDState, t.Id, t.TrialId }).FirstOrDefault().IfNullThrowException();
|
||||
|
||||
//入组或者PD 才执行下面的逻辑
|
||||
if ((findSubjectVisit.IsEnrollmentConfirm || findSubjectVisit.PDState == PDStateEnum.PDProgress))
|
||||
|
@ -159,18 +154,22 @@ public static class DBContext_Ext
|
|||
{
|
||||
var taskMedicalReview = entry.Entity;
|
||||
|
||||
//跟踪的方式查询 不会查询数据库多次
|
||||
var findVisitTask = dbContext.VisitTask.Find(taskMedicalReview.VisitTaskId).IfNullThrowException();
|
||||
if (entry.State == EntityState.Added)
|
||||
{
|
||||
var findVisitTask = dbContext.VisitTask.Where(t => t.Id == taskMedicalReview.VisitTaskId).Select(t => new { t.SourceSubjectVisitId, t.SouceReadModuleId }).FirstOrDefault().IfNullThrowException();
|
||||
|
||||
var findSubjectVisit = new SubjectVisit();
|
||||
var findSubjectVisit = new EnrollmentConfirmAndPD();
|
||||
if (findVisitTask.SourceSubjectVisitId != null)
|
||||
{
|
||||
findSubjectVisit = dbContext.SubjectVisit.Find(findVisitTask.SourceSubjectVisitId);
|
||||
findSubjectVisit = dbContext.SubjectVisit.Where(t => t.Id == findVisitTask.SourceSubjectVisitId)
|
||||
.Select(t => new EnrollmentConfirmAndPD { IsEnrollmentConfirm = t.IsEnrollmentConfirm, PDState = t.PDState }).FirstOrDefault();
|
||||
}
|
||||
else
|
||||
{
|
||||
var readMoudule = dbContext.ReadModule.Find(findVisitTask.SouceReadModuleId);
|
||||
findSubjectVisit = dbContext.SubjectVisit.Find(readMoudule.SubjectVisitId);
|
||||
var subjectVisitId = dbContext.ReadModule.Where(t => t.Id == findVisitTask.SouceReadModuleId).Select(t => t.SubjectVisitId).FirstOrDefault();
|
||||
|
||||
findSubjectVisit = dbContext.SubjectVisit.Where(t => t.Id == subjectVisitId)
|
||||
.Select(t => new EnrollmentConfirmAndPD { IsEnrollmentConfirm = t.IsEnrollmentConfirm, PDState = t.PDState }).FirstOrDefault();
|
||||
}
|
||||
|
||||
|
||||
|
@ -178,15 +177,12 @@ public static class DBContext_Ext
|
|||
if (findSubjectVisit.IsEnrollmentConfirm || findSubjectVisit.PDState == PDStateEnum.PDProgress)
|
||||
{
|
||||
|
||||
if (entry.State == EntityState.Added)
|
||||
{
|
||||
taskMedicalReview.AddDomainEvent(new UrgentMedicalReviewAddedEvent() { MedicalReviewId = taskMedicalReview.Id, VisitTaskId = taskMedicalReview.VisitTaskId });
|
||||
}
|
||||
|
||||
//添加进记录
|
||||
eventStoreList.AddRange(taskMedicalReview.DomainEvents.Select(t => new EventStoreRecord() { Id = t.EventId, EventType = t.GetType().Name, EventData = t.ToJsonStr() }));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//医学反馈
|
||||
|
@ -194,17 +190,22 @@ public static class DBContext_Ext
|
|||
{
|
||||
var readingMedicalReviewDialog = entry.Entity;
|
||||
|
||||
//跟踪的方式查询 不会查询数据库多次
|
||||
var findVisitTask = dbContext.VisitTask.Find(readingMedicalReviewDialog.VisitTaskId).IfNullThrowException();
|
||||
var findSubjectVisit = new SubjectVisit();
|
||||
|
||||
|
||||
var findVisitTask = dbContext.VisitTask.Where(t => t.Id == readingMedicalReviewDialog.VisitTaskId).Select(t => new { t.SourceSubjectVisitId, t.SouceReadModuleId }).FirstOrDefault().IfNullThrowException();
|
||||
|
||||
var findSubjectVisit = new EnrollmentConfirmAndPD();
|
||||
if (findVisitTask.SourceSubjectVisitId != null)
|
||||
{
|
||||
findSubjectVisit = dbContext.SubjectVisit.Find(findVisitTask.SourceSubjectVisitId);
|
||||
findSubjectVisit = dbContext.SubjectVisit.Where(t => t.Id == findVisitTask.SourceSubjectVisitId)
|
||||
.Select(t => new EnrollmentConfirmAndPD { IsEnrollmentConfirm = t.IsEnrollmentConfirm, PDState = t.PDState }).FirstOrDefault();
|
||||
}
|
||||
else
|
||||
{
|
||||
var readMoudule = dbContext.ReadModule.Find(findVisitTask.SouceReadModuleId);
|
||||
findSubjectVisit = dbContext.SubjectVisit.Find(readMoudule.SubjectVisitId);
|
||||
var subjectVisitId = dbContext.ReadModule.Where(t => t.Id == findVisitTask.SouceReadModuleId).Select(t => t.SubjectVisitId).FirstOrDefault();
|
||||
|
||||
findSubjectVisit = dbContext.SubjectVisit.Where(t => t.Id == subjectVisitId)
|
||||
.Select(t => new EnrollmentConfirmAndPD { IsEnrollmentConfirm = t.IsEnrollmentConfirm, PDState = t.PDState }).FirstOrDefault();
|
||||
}
|
||||
|
||||
//入组或者PD 才执行下面的逻辑
|
||||
|
@ -231,39 +232,50 @@ public static class DBContext_Ext
|
|||
{
|
||||
|
||||
var visitTask = entry.Entity;
|
||||
var findSubjectVisit = new SubjectVisit();
|
||||
|
||||
var originReReadingApplyState = entry.Property(p => p.ReReadingApplyState).OriginalValue;
|
||||
|
||||
if (originReReadingApplyState == ReReadingApplyState.Default && visitTask.ReReadingApplyState == ReReadingApplyState.DocotorHaveApplyed)
|
||||
{
|
||||
var findSubjectVisit = new EnrollmentConfirmAndPD();
|
||||
|
||||
if (visitTask.SourceSubjectVisitId != null)
|
||||
{
|
||||
findSubjectVisit = dbContext.SubjectVisit.Find(visitTask.SourceSubjectVisitId).IfNullThrowException();
|
||||
findSubjectVisit = dbContext.SubjectVisit.Where(t => t.Id == visitTask.SourceSubjectVisitId)
|
||||
.Select(t => new EnrollmentConfirmAndPD { IsEnrollmentConfirm = t.IsEnrollmentConfirm, PDState = t.PDState }).FirstOrDefault();
|
||||
}
|
||||
else
|
||||
{
|
||||
var readMoudule = dbContext.ReadModule.Find(visitTask.SouceReadModuleId).IfNullThrowException();
|
||||
findSubjectVisit = dbContext.SubjectVisit.Find(readMoudule.SubjectVisitId).IfNullThrowException();
|
||||
var subjectVisitId = dbContext.ReadModule.Where(t => t.Id == visitTask.SouceReadModuleId).Select(t => t.SubjectVisitId).FirstOrDefault();
|
||||
|
||||
findSubjectVisit = dbContext.SubjectVisit.Where(t => t.Id == subjectVisitId)
|
||||
.Select(t => new EnrollmentConfirmAndPD { IsEnrollmentConfirm = t.IsEnrollmentConfirm, PDState = t.PDState }).FirstOrDefault();
|
||||
}
|
||||
|
||||
//入组或者PD 才执行下面的逻辑
|
||||
if (findSubjectVisit.IsEnrollmentConfirm || findSubjectVisit.PDState == PDStateEnum.PDProgress)
|
||||
{
|
||||
var originReReadingApplyState = entry.Property(p => p.ReReadingApplyState).OriginalValue;
|
||||
|
||||
if (originReReadingApplyState == ReReadingApplyState.Default && visitTask.ReReadingApplyState == ReReadingApplyState.DocotorHaveApplyed)
|
||||
{
|
||||
visitTask.AddDomainEvent(new UrgentIRApplyedReReading() { VisitTaskId = visitTask.Id });
|
||||
}
|
||||
|
||||
//添加进记录
|
||||
eventStoreList.AddRange(visitTask.DomainEvents.Select(t => new EventStoreRecord() { Id = t.EventId, EventType = t.GetType().Name, EventData = t.ToJsonStr() }));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
//跟随事务一起保存数据库
|
||||
dbContext.EventStoreRecord.AddRange(eventStoreList);
|
||||
}
|
||||
|
||||
public class EnrollmentConfirmAndPD
|
||||
{
|
||||
public bool IsEnrollmentConfirm { get; set; }
|
||||
|
||||
public PDStateEnum PDState { get; set; }
|
||||
}
|
||||
#region 暂时废弃
|
||||
/// <summary>
|
||||
/// 暂时废弃,没有场景使用
|
||||
|
|
|
@ -48,7 +48,7 @@ public class AuditEntityInterceptor(IUserInfo _userInfo,
|
|||
//};
|
||||
|
||||
//领域事件
|
||||
//eventData.Context.AddDomainEvents();
|
||||
eventData.Context.AddDomainEvents();
|
||||
|
||||
//审计时间
|
||||
AuditEntities(eventData.Context);
|
||||
|
|
|
@ -60,7 +60,7 @@ namespace IRaCIS.Core.Infra.EFCore.Interceptor
|
|||
|
||||
if (domainEvent.IsScheduleEvent)
|
||||
{
|
||||
await _scheduler.SchedulePublish(DateTime.Now.AddSeconds(domainEvent.DelaySeconds), domainEvent);
|
||||
await _scheduler.SchedulePublish(DateTime.Now.AddSeconds(domainEvent.DelaySeconds), (object)domainEvent);
|
||||
}
|
||||
|
||||
await _mediator.Publish(domainEvent.GetType(), domainEvent);
|
||||
|
|
Loading…
Reference in New Issue