发布邮件 添加医生规则表

This commit is contained in:
2022-06-10 14:53:00 +08:00
parent 4c031031f8
commit 6702a37e8f
5 changed files with 25 additions and 8 deletions
@@ -22,6 +22,8 @@ namespace IRaCIS.Application.Services
private readonly IRepository<Workload> _workloadRepository;
private readonly IMailVerificationService _mailVerificationService;
//private readonly IRepository<TrialUser> _trialUserRepository;
public EnrollService(IRepository<Trial> clinicalTrialProjectRepository,
IRepository<TrialStatusDetail> clinicalProjectDetailRepository,
@@ -42,6 +44,7 @@ namespace IRaCIS.Application.Services
_workloadRepository = workloadRepository;
_mailVerificationService = mailVerificationService;
//_trialUserRepository = trialUserRepository;
}
@@ -353,7 +356,9 @@ namespace IRaCIS.Application.Services
[TypeFilter(typeof(TrialResourceFilter))]
[Authorize(Policy = IRaCISPolicy.PM_APM_SPM_CPM)]
[UnitOfWork]
public async Task<IResponseOutput> ConfirmReviewer(ConfirmReviewerCommand confirmReviewerCommand)
public async Task<IResponseOutput> ConfirmReviewer(ConfirmReviewerCommand confirmReviewerCommand,
[FromServices] IRepository<TrialUser> _trialUserRepository,
[FromServices] IRepository<TaskAllocationRule> _taskAllocationRuleRepository)
{
//var trial = _trialRepository.FirstOrDefault(t => t.Id == trialId);
//var existItem = _trialRepository.FindSingleOrDefault(u => u.Id == trialId && u.TrialStatus >= (int)TrialEnrollStatus.HasConfirmedDoctorNames);
@@ -381,7 +386,16 @@ namespace IRaCIS.Application.Services
intoGroupItem.EnrollStatus = (int)EnrollStatus.ConfirmIntoGroup;
intoGroupItem.EnrollTime = DateTime.Now;
await _mailVerificationService.DoctorJoinTrialEmail(trialId, intoGroupItem.DoctorId, confirmReviewerCommand.BaseUrl, confirmReviewerCommand.RouteUrl);
var userId= await _mailVerificationService.DoctorJoinTrialEmail(trialId, intoGroupItem.DoctorId, confirmReviewerCommand.BaseUrl, confirmReviewerCommand.RouteUrl);
if( !await _trialUserRepository.AnyAsync(t=>t.TrialId==trialId && t.UserId== userId, true))
{
await _trialUserRepository.AddAsync(new TrialUser() { TrialId = trialId, UserId = userId });
await _taskAllocationRuleRepository.AddAsync(new TaskAllocationRule() { TrialId = trialId, DoctorUserId = userId });
}
await _enrollDetailRepository.AddAsync(new EnrollDetail()
{
DoctorId = intoGroupItem.DoctorId,