修改加入人员逻辑
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
99fa476b80
commit
da570f8c5a
|
@ -323,7 +323,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
return ResponseOutput.NotOk("database dirty data ");
|
return ResponseOutput.NotOk("database dirty data ");
|
||||||
}
|
}
|
||||||
|
|
||||||
var findTrialUser = await _trialIdentityUserRepository.Where(t => t.TrialId == trialId && t.IdentityUserId == identityUserId, true).Include(t => t.TrialUserRoleList).ThenInclude(t => t.UserRole).FirstOrDefaultAsync();
|
var findTrialUser = await _trialIdentityUserRepository.Where(t => t.TrialId == trialId && t.IdentityUserId == identityUserId, true, true).Include(t => t.TrialUserRoleList).ThenInclude(t => t.UserRole).FirstOrDefaultAsync();
|
||||||
|
|
||||||
if (findTrialUser == null)
|
if (findTrialUser == null)
|
||||||
{
|
{
|
||||||
|
@ -364,6 +364,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
findTrialUserRole.IsDeleted = false;
|
findTrialUserRole.IsDeleted = false;
|
||||||
findTrialUserRole.DeletedTime = null;
|
findTrialUserRole.DeletedTime = null;
|
||||||
|
findTrialUserRole.RemoveTime = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
using DocumentFormat.OpenXml.Vml.Spreadsheet;
|
using DocumentFormat.OpenXml.Vml.Spreadsheet;
|
||||||
using IRaCIS.Core.Application.Filter;
|
using IRaCIS.Core.Application.Filter;
|
||||||
using IRaCIS.Core.Application.Service.WorkLoad.DTO;
|
using IRaCIS.Core.Application.Service.WorkLoad.DTO;
|
||||||
|
using IRaCIS.Core.Domain.Models;
|
||||||
using IRaCIS.Core.Domain.Share;
|
using IRaCIS.Core.Domain.Share;
|
||||||
using IRaCIS.Core.Infra.EFCore.Common;
|
using IRaCIS.Core.Infra.EFCore.Common;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
@ -411,28 +412,41 @@ namespace IRaCIS.Core.Application.Service
|
||||||
var (identityUserId, userRoleId) = await _mailVerificationService.DoctorJoinTrialEmail(trialId, intoGroupItem.DoctorId, confirmReviewerCommand.BaseUrl, confirmReviewerCommand.RouteUrl);
|
var (identityUserId, userRoleId) = await _mailVerificationService.DoctorJoinTrialEmail(trialId, intoGroupItem.DoctorId, confirmReviewerCommand.BaseUrl, confirmReviewerCommand.RouteUrl);
|
||||||
|
|
||||||
|
|
||||||
var findTrialUser = await _trialIdentityUserRepository.FirstOrDefaultAsync(t => t.IdentityUserId == identityUserId);
|
var findTrialUser = await _trialIdentityUserRepository.Where(t => t.TrialId == trialId && t.IdentityUserId == identityUserId, true, true).Include(t => t.TrialUserRoleList).ThenInclude(t => t.UserRole).FirstOrDefaultAsync();
|
||||||
//项目中不存在
|
|
||||||
if (findTrialUser == null)
|
if (findTrialUser == null)
|
||||||
{
|
{
|
||||||
|
//没有项目参与人员
|
||||||
await _trialIdentityUserRepository.AddAsync(new TrialIdentityUser()
|
findTrialUser = await _trialIdentityUserRepository.AddAsync(new TrialIdentityUser()
|
||||||
{
|
{
|
||||||
TrialId = trialId,
|
|
||||||
IdentityUserId = identityUserId,
|
IdentityUserId = identityUserId,
|
||||||
|
TrialId = trialId,
|
||||||
JoinTime = DateTime.Now,
|
JoinTime = DateTime.Now,
|
||||||
|
|
||||||
TrialUserRoleList = new List<TrialUserRole>() { new TrialUserRole() { TrialId = trialId, UserId = userRoleId } }
|
TrialUserRoleList = new List<TrialUserRole>() { new TrialUserRole() { TrialId = trialId, UserId = userRoleId } }
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!await _trialUserRoleRepository.AnyAsync(t => t.TrialId == trialId && t.UserId == userRoleId, true))
|
var findTrialUserRole = findTrialUser.TrialUserRoleList.Where(t => t.UserRole.UserTypeId == userRoleId).FirstOrDefault();
|
||||||
|
|
||||||
|
if (findTrialUserRole == null)
|
||||||
{
|
{
|
||||||
await _trialUserRoleRepository.AddAsync(new TrialUserRole() { TrialId = trialId, UserId = userRoleId, TrialUserId = findTrialUser.Id });
|
//添加该角色
|
||||||
|
findTrialUser.TrialUserRoleList.Add(new TrialUserRole() { TrialUserId = findTrialUser.Id, TrialId = trialId, UserId = userRoleId });
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//如果禁用,那么启用
|
||||||
|
if (findTrialUserRole.IsDeleted == true)
|
||||||
|
{
|
||||||
|
findTrialUserRole.IsDeleted = false;
|
||||||
|
findTrialUserRole.DeletedTime = null;
|
||||||
|
findTrialUserRole.RemoveTime = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
await _userRoleRepository.BatchUpdateNoTrackingAsync(t => t.Id == userRoleId, u => new UserRole() { DoctorId = intoGroupItem.DoctorId });
|
await _userRoleRepository.BatchUpdateNoTrackingAsync(t => t.Id == userRoleId, u => new UserRole() { DoctorId = intoGroupItem.DoctorId });
|
||||||
await _enrollRepository.BatchUpdateNoTrackingAsync(t => t.Id == intoGroupItem.Id, u => new Enroll() { DoctorUserId = userRoleId });
|
await _enrollRepository.BatchUpdateNoTrackingAsync(t => t.Id == intoGroupItem.Id, u => new Enroll() { DoctorUserId = userRoleId });
|
||||||
|
|
Loading…
Reference in New Issue