Uat_Study
he 2022-04-19 18:14:28 +08:00
parent 2d63fbb9c6
commit a5e0e0266e
1 changed files with 43 additions and 30 deletions

View File

@ -47,6 +47,7 @@ namespace IRaCIS.Core.Infra.EFCore
{
var entity = _mapper.Map<TEntity>(from);
if (entity.Id == Guid.Empty)
{
return await InsertFromDTOAsync(from, autoSave, verify);
@ -217,7 +218,7 @@ namespace IRaCIS.Core.Infra.EFCore
{
#region 项目名称
var trialdata = await _dbContext.Trial.FirstOrDefaultAsync(x => x.Id == Data.TrialId);
var trialdata = await _dbContext.Trial.Select(x=>new { x.Id, x.ResearchProgramNo, x.ExperimentName, }).FirstOrDefaultAsync(x => x.Id == Data.TrialId);
Data.ResearchProgramNo = trialdata?.ResearchProgramNo;
if (IsNullOrEmpty(Data.TrialName))
{
@ -230,10 +231,11 @@ namespace IRaCIS.Core.Infra.EFCore
Data.SiteCode = (await _dbContext.TrialSite.IgnoreQueryFilters().FirstOrDefaultAsync(x => x.TrialId == Data.TrialId && x.SiteId == Data.SiteId))?.TrialSiteCode;
var sitedata = await _dbContext.Site.FirstOrDefaultAsync(x => x.Id == Data.SiteId);
if (IsNullOrEmpty(Data.SiteName))
if (IsNullOrEmpty(Data.SiteName)&& Data.SiteId!=null)
{
var sitedata = await _dbContext.Site.Where(x => x.Id == Data.SiteId).Select(x=>new { x.SiteName}).FirstOrDefaultAsync();
Data.SiteName = sitedata?.SiteName;
}
#endregion
@ -241,47 +243,58 @@ namespace IRaCIS.Core.Infra.EFCore
#region 受试者
if (IsNullOrEmpty(Data.SubjectCode))
if (IsNullOrEmpty(Data.SubjectCode) && Data.SubjectId != null)
{
Data.SubjectCode = (await _dbContext.Subject.FirstOrDefaultAsync(x => x.Id == Data.SubjectId))?.Code;
Data.SubjectCode = (await _dbContext.Subject.Where(x => x.Id == Data.SubjectId).Select(x=>new {x.Code }).FirstOrDefaultAsync())?.Code;
}
#endregion
#region 访视
if (IsNullOrEmpty(Data.SubjectVisitName))
{
Data.SubjectVisitName = (await _dbContext.SubjectVisit.FirstOrDefaultAsync(x => x.Id == Data.SubjectVisitId))?.VisitName;
Data.SubjectVisitName = (await _dbContext.SubjectVisit.Where(x => x.Id == Data.SubjectVisitId).Select(x=>new { x.VisitName}).FirstOrDefaultAsync())?.VisitName;
}
#endregion
#region 创建者
if (IsNullOrEmpty(Data.CreateUserName) || IsNullOrEmpty(Data.RoleName))
{
var userdata = await _dbContext.Users.AsQueryable().Where(x => x.Id == Data.CreateUserId).GroupJoin(_dbContext.UserType.AsQueryable(), a => a.UserTypeId, b => b.Id, (a, b) => new
{
UserName = a.FirstName + a.LastName,
Role = b
}).SelectMany(a => a.Role, (m, n) => new
{
UserName = m.UserName,
RoleName = n.UserTypeShortName
}).FirstOrDefaultAsync();
if (userdata != null)
{
if (IsNullOrEmpty(Data.CreateUserName))
{
Data.CreateUserName = userdata?.UserName;
Data.CreateUserName = _userInfo.RealName;
}
if (IsNullOrEmpty(Data.RoleName))
{
Data.RoleName = userdata?.RoleName;
}
}
Data.RoleName = _userInfo.UserTypeShortName;
}
//if (IsNullOrEmpty(Data.CreateUserName) || IsNullOrEmpty(Data.RoleName))
//{
// var userdata = await _dbContext.Users.AsQueryable().Where(x => x.Id == Data.CreateUserId).GroupJoin(_dbContext.UserType.AsQueryable(), a => a.UserTypeId, b => b.Id, (a, b) => new
// {
// UserName = a.FirstName + a.LastName,
// Role = b
// }).SelectMany(a => a.Role, (m, n) => new
// {
// UserName = m.UserName,
// RoleName = n.UserTypeShortName
// }).FirstOrDefaultAsync();
// if (userdata != null)
// {
// if (IsNullOrEmpty(Data.CreateUserName))
// {
// Data.CreateUserName = userdata?.UserName;
// }
// if (IsNullOrEmpty(Data.RoleName))
// {
// Data.RoleName = userdata?.RoleName;
// }
// }
//}
#endregion
#region 取操作类型