Uat_Study
parent
2a7280b501
commit
64a433ea10
|
@ -50,13 +50,7 @@ namespace IRaCIS.Core.Application.Triggers
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var cRCClinicalDatas = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == subject.TrialId && x.UploadRole == UploadRole.CRC && x.IsConfirm)
|
|
||||||
|
|
||||||
.Select(x =>new {
|
|
||||||
x.Id,
|
|
||||||
x.ClinicalDataLevel,
|
|
||||||
} ).ToListAsync();
|
|
||||||
List<ReadingClinicalData> readingClinicals = new List<ReadingClinicalData>();
|
|
||||||
svList.ForEach(t =>
|
svList.ForEach(t =>
|
||||||
{
|
{
|
||||||
t.Subject = subject;
|
t.Subject = subject;
|
||||||
|
@ -65,23 +59,9 @@ namespace IRaCIS.Core.Application.Triggers
|
||||||
t.SiteId = subject.SiteId;
|
t.SiteId = subject.SiteId;
|
||||||
t.IsEnrollmentConfirm = t.IsBaseLine ? IsEnrollementQualificationConfirm : false;
|
t.IsEnrollmentConfirm = t.IsBaseLine ? IsEnrollementQualificationConfirm : false;
|
||||||
t.Id = NewId.NextGuid();
|
t.Id = NewId.NextGuid();
|
||||||
readingClinicals.AddRange(
|
|
||||||
|
|
||||||
cRCClinicalDatas.WhereIf(!t.IsBaseLine, x => x.ClinicalDataLevel == ClinicalLevel.SubjectVisit).Select(x => new ReadingClinicalData()
|
|
||||||
{
|
|
||||||
ClinicalDataTrialSetId = x.Id,
|
|
||||||
IsVisit = true,
|
|
||||||
SubjectId = subject.Id,
|
|
||||||
ReadingId = t.Id,
|
|
||||||
TrialId = subject.TrialId
|
|
||||||
|
|
||||||
}).ToList()
|
|
||||||
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
await _readingClinicalDataRepository.AddRangeAsync(readingClinicals);
|
|
||||||
|
|
||||||
|
|
||||||
await _subjectVisitRepository.AddRangeAsync(svList);
|
await _subjectVisitRepository.AddRangeAsync(svList);
|
||||||
|
|
||||||
|
|
|
@ -15,20 +15,25 @@ namespace IRaCIS.Core.Application.Triggers
|
||||||
{
|
{
|
||||||
|
|
||||||
private readonly IVisitTaskHelpeService _visitTaskHelpeService;
|
private readonly IVisitTaskHelpeService _visitTaskHelpeService;
|
||||||
|
|
||||||
private readonly IRepository<Subject> _subjectRepository;
|
private readonly IRepository<Subject> _subjectRepository;
|
||||||
|
private readonly IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository;
|
||||||
|
private readonly IRepository<ReadingClinicalData> _readingClinicalDataRepository;
|
||||||
|
|
||||||
public SubjectVisitCheckPassedTrigger(IRepository<Subject> subjectRepository,
|
public SubjectVisitCheckPassedTrigger(IRepository<Subject> subjectRepository,
|
||||||
|
IRepository<ClinicalDataTrialSet> clinicalDataTrialSetRepository,
|
||||||
|
IRepository<ReadingClinicalData> readingClinicalDataRepository,
|
||||||
IVisitTaskHelpeService visitTaskHelpeService)
|
IVisitTaskHelpeService visitTaskHelpeService)
|
||||||
{
|
{
|
||||||
|
|
||||||
_subjectRepository = subjectRepository;
|
_subjectRepository = subjectRepository;
|
||||||
|
_clinicalDataTrialSetRepository = clinicalDataTrialSetRepository;
|
||||||
|
_readingClinicalDataRepository = readingClinicalDataRepository;
|
||||||
|
this._clinicalDataTrialSetRepository = clinicalDataTrialSetRepository;
|
||||||
_visitTaskHelpeService = visitTaskHelpeService;
|
_visitTaskHelpeService = visitTaskHelpeService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public async Task BeforeSave(ITriggerContext<SubjectVisit> context, CancellationToken cancellationToken)
|
public async Task BeforeSave(ITriggerContext<SubjectVisit> context, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
|
@ -53,6 +58,39 @@ namespace IRaCIS.Core.Application.Triggers
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
// 触发临床数据
|
||||||
|
if (context.ChangeType == ChangeType.Added)
|
||||||
|
{
|
||||||
|
var cRCClinicalDatas = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == context.Entity.TrialId && x.UploadRole == UploadRole.CRC && x.IsConfirm)
|
||||||
|
|
||||||
|
.Select(x => new
|
||||||
|
{
|
||||||
|
x.Id,
|
||||||
|
x.ClinicalDataLevel,
|
||||||
|
}).ToListAsync();
|
||||||
|
|
||||||
|
List<ReadingClinicalData> readingClinicals = new List<ReadingClinicalData>();
|
||||||
|
readingClinicals.AddRange(
|
||||||
|
|
||||||
|
cRCClinicalDatas.WhereIf(context.Entity.IsBaseLine, x => x.ClinicalDataLevel == ClinicalLevel.SubjectVisit).Select(x => new ReadingClinicalData()
|
||||||
|
{
|
||||||
|
ClinicalDataTrialSetId = x.Id,
|
||||||
|
IsVisit = true,
|
||||||
|
SubjectId = context.Entity.SubjectId,
|
||||||
|
ReadingId = context.Entity.Id,
|
||||||
|
TrialId = context.Entity.TrialId
|
||||||
|
|
||||||
|
}).ToList()
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
await _readingClinicalDataRepository.AddRangeAsync(readingClinicals);
|
||||||
|
await _readingClinicalDataRepository.SaveChangesAsync();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue