using EntityFrameworkCore.Triggered;
using IRaCIS.Core.Application.Service.Reading.Interface;

namespace IRaCIS.Core.Application.Triggers
{
    public class AddCRCCliniaclDataTrigger(
        IRepository<SubjectVisit> _subjectVisitRepository,
        IClinicalAnswerService _iClinicalAnswerService) : IAfterSaveTrigger<SubjectVisit>
    {


        //注意删除不能用扩展方法,必须用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,

            });
        }

    }
}