using EntityFrameworkCore.Triggered; using IRaCIS.Core.Application.Service.Reading.Interface; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IRaCIS.Core.Application.Triggers { public class AddCRCCliniaclDataTrigger( IRepository _subjectVisitRepository, IClinicalAnswerService _iClinicalAnswerService) : IAfterSaveTrigger { //注意删除不能用扩展方法,必须用EF跟踪的实体 否则不能取到 SubjectVisitId public async Task AfterSave(ITriggerContext context, CancellationToken cancellationToken) { var subjectVisit = context.Entity; await _iClinicalAnswerService.AutoAddCRCClinical(new Service.Reading.Dto.AutoAddClinicalInDto() { TrialId = subjectVisit.TrialId, SubjectId = subjectVisit.SubjectId, }); } } }