40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
| 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 : IAfterSaveTrigger<SubjectVisit>
 | ||
| 	{
 | ||
| 		private readonly IRepository<SubjectVisit> _subjectVisitRepository;
 | ||
| 		private readonly IRepository _repository;
 | ||
| 		private readonly IClinicalAnswerService _iClinicalAnswerService;
 | ||
| 
 | ||
| 		public AddCRCCliniaclDataTrigger(IRepository<SubjectVisit> subjectVisitRepository, IRepository repository, IClinicalAnswerService iClinicalAnswerService)
 | ||
| 		{
 | ||
| 			_subjectVisitRepository = subjectVisitRepository;
 | ||
| 
 | ||
| 			_repository = repository;
 | ||
| 			this._iClinicalAnswerService = iClinicalAnswerService;
 | ||
| 		}
 | ||
| 
 | ||
| 		//注意删除不能用扩展方法,必须用EF跟踪的实体  否则不能取到  SubjectVisitId
 | ||
| 		public async Task AfterSave(ITriggerContext<SubjectVisit> context, CancellationToken cancellationToken)
 | ||
| 		{
 | ||
| 			var subjectVisit = context.Entity;
 | ||
| 
 | ||
| 			await _iClinicalAnswerService.AutoAddCRCClinical(new Service.Reading.Dto.AutoAddClinicalInDto()
 | ||
| 			{
 | ||
| 				TrialId = subjectVisit.TrialId,
 | ||
| 				SubjectId = subjectVisit.SubjectId,
 | ||
| 
 | ||
| 			});
 | ||
| 		}
 | ||
| 
 | ||
| 	}
 | ||
| }
 |