导航属性加注释

Uat_Study
hang 2022-08-26 10:33:32 +08:00
parent 0342048a02
commit a8cd00b962
12 changed files with 71 additions and 34 deletions

View File

@ -8,10 +8,11 @@ namespace IRaCIS.Core.Domain.Models
[Table("DicomSeries")] [Table("DicomSeries")]
public class DicomSeries : Entity, IAuditAdd, IAuditUpdate, ISoftDelete public class DicomSeries : Entity, IAuditAdd, IAuditUpdate, ISoftDelete
{ {
[JsonIgnore]
[ForeignKey("StudyId")] [ForeignKey("StudyId")]
public DicomStudy DicomStudy { get; set; } public DicomStudy DicomStudy { get; set; }
[JsonIgnore]
public List<DicomInstance> DicomInstanceList { get; set; } public List<DicomInstance> DicomInstanceList { get; set; }

View File

@ -10,10 +10,13 @@ namespace IRaCIS.Core.Domain.Models
{ {
//一个检查 由多个人管理 //一个检查 由多个人管理
//public List<TrialSiteUser> TrialSiteUserList { get; set; } = new List<TrialSiteUser>(); //public List<TrialSiteUser> TrialSiteUserList { get; set; } = new List<TrialSiteUser>();
[JsonIgnore]
public List<StudyMonitor> DicomStudyMonitorList { get; set; } = new List<StudyMonitor>(); public List<StudyMonitor> DicomStudyMonitorList { get; set; } = new List<StudyMonitor>();
[JsonIgnore]
public List <StudyDTF> StudyDTFList { get; set;} = new List<StudyDTF>(); public List <StudyDTF> StudyDTFList { get; set;} = new List<StudyDTF>();
[JsonIgnore]
public TrialSite TrialSite { get; set; } public TrialSite TrialSite { get; set; }
[JsonIgnore]
public Site Site { get; set; } public Site Site { get; set; }
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
@ -68,6 +71,7 @@ namespace IRaCIS.Core.Domain.Models
public Guid CreateUserId { get; set; } public Guid CreateUserId { get; set; }
public DateTime CreateTime { get; set; } = DateTime.Now; public DateTime CreateTime { get; set; } = DateTime.Now;
[JsonIgnore]
[ForeignKey("CreateUserId")] [ForeignKey("CreateUserId")]
public User Uploader { get; set; } public User Uploader { get; set; }
@ -90,10 +94,11 @@ namespace IRaCIS.Core.Domain.Models
public string CheckResult { get; set; }=string.Empty; public string CheckResult { get; set; }=string.Empty;
[JsonIgnore]
[ForeignKey("SubjectId")] [ForeignKey("SubjectId")]
public Subject Subject { get; set; } public Subject Subject { get; set; }
[JsonIgnore]
[ForeignKey("SubjectVisitId")] [ForeignKey("SubjectVisitId")]
public SubjectVisit SubjectVisit { get; set; } public SubjectVisit SubjectVisit { get; set; }

View File

@ -10,8 +10,8 @@ namespace IRaCIS.Core.Domain.Models
public class CheckChallengeDialog : Entity, IAuditAdd public class CheckChallengeDialog : Entity, IAuditAdd
{ {
public string TalkContent { get; set; } = string.Empty; public string TalkContent { get; set; } = string.Empty;
[JsonIgnore]
public SubjectVisit SubjectVisit { get; set; } public SubjectVisit SubjectVisit { get; set; }
public Guid SubjectVisitId { get; set; } public Guid SubjectVisitId { get; set; }
public User CreateUser { get; set; } public User CreateUser { get; set; }

View File

@ -14,7 +14,7 @@ namespace IRaCIS.Core.Domain.Models
[Table("PreviousHistory")] [Table("PreviousHistory")]
public class PreviousHistory : Entity, IAuditAddWithUserName public class PreviousHistory : Entity, IAuditAddWithUserName
{ {
[JsonIgnore]
public SubjectVisit SubjectVisit { get; set; } public SubjectVisit SubjectVisit { get; set; }
/// <summary> /// <summary>
/// CreateUserId /// CreateUserId

View File

@ -15,7 +15,7 @@ namespace IRaCIS.Core.Domain.Models
public class PreviousOther : Entity, IAuditAddWithUserName public class PreviousOther : Entity, IAuditAddWithUserName
{ {
[JsonIgnore]
public SubjectVisit SubjectVisit { get; set; } public SubjectVisit SubjectVisit { get; set; }
/// <summary> /// <summary>
/// CreateUserId /// CreateUserId

View File

@ -42,7 +42,7 @@ namespace IRaCIS.Core.Domain.Models
/// </summary> /// </summary>
public Guid TrialId { get; set; } public Guid TrialId { get; set; }
[JsonIgnore]
/// <summary> /// <summary>
/// 创建人 /// 创建人
/// </summary> /// </summary>

View File

@ -7,6 +7,7 @@ namespace IRaCIS.Core.Domain.Models
{ {
public class QCChallenge : Entity, IAuditAdd public class QCChallenge : Entity, IAuditAdd
{ {
[JsonIgnore]
[ForeignKey("CreateUserId")] [ForeignKey("CreateUserId")]
public User CreateUser { get; set; } public User CreateUser { get; set; }
@ -42,6 +43,7 @@ namespace IRaCIS.Core.Domain.Models
public Guid? LatestReplyUserId { get; set; } public Guid? LatestReplyUserId { get; set; }
[JsonIgnore]
[ForeignKey("LatestReplyUserId")] [ForeignKey("LatestReplyUserId")]
public User LatestReplyUser { get; set; } public User LatestReplyUser { get; set; }
public string ChallengeCode { get; set; } public string ChallengeCode { get; set; }
@ -70,11 +72,11 @@ namespace IRaCIS.Core.Domain.Models
public string ChallengeType { get; set; } = string.Empty; public string ChallengeType { get; set; } = string.Empty;
[JsonIgnore]
//导航属性 //导航属性
[ForeignKey("SubjectVisitId")] [ForeignKey("SubjectVisitId")]
public SubjectVisit SubjectVisit { get; set; } public SubjectVisit SubjectVisit { get; set; }
[JsonIgnore]
public List<QCChallengeDialog> DialogList { get; set; } = new List<QCChallengeDialog>(); public List<QCChallengeDialog> DialogList { get; set; } = new List<QCChallengeDialog>();

View File

@ -6,6 +6,7 @@ namespace IRaCIS.Core.Domain.Models
{ {
public class QCChallengeDialog : Entity, IAuditAdd public class QCChallengeDialog : Entity, IAuditAdd
{ {
[JsonIgnore]
public QCChallenge QCChallenge { get; set; } public QCChallenge QCChallenge { get; set; }
public string TalkContent { get; set; } = string.Empty; public string TalkContent { get; set; } = string.Empty;
@ -13,6 +14,7 @@ namespace IRaCIS.Core.Domain.Models
public Guid SubjectVisitId { get; set; } public Guid SubjectVisitId { get; set; }
[JsonIgnore]
[ForeignKey("CreateUserId")] [ForeignKey("CreateUserId")]
public User CreateUser { get; set; } public User CreateUser { get; set; }

View File

@ -13,7 +13,8 @@ namespace IRaCIS.Core.Domain.Models
///</summary> ///</summary>
[Table("TrialQCQuestion")] [Table("TrialQCQuestion")]
public class TrialQCQuestion : Entity, IAuditUpdate, IAuditAdd public class TrialQCQuestion : Entity, IAuditUpdate, IAuditAdd
{ {
[JsonIgnore]
public Trial Trial { get; set; } public Trial Trial { get; set; }
/// <summary> /// <summary>
@ -48,7 +49,7 @@ namespace IRaCIS.Core.Domain.Models
public Guid? ParentId { get; set; } public Guid? ParentId { get; set; }
[JsonIgnore]
[ForeignKey("ParentId")] [ForeignKey("ParentId")]
public TrialQCQuestion ParentQCQuestion { get; set; } public TrialQCQuestion ParentQCQuestion { get; set; }
@ -101,7 +102,7 @@ namespace IRaCIS.Core.Domain.Models
[JsonIgnore]
public List<TrialQCQuestionAnswer> TrialQCQuestionAnswerList { get; set; } public List<TrialQCQuestionAnswer> TrialQCQuestionAnswerList { get; set; }

View File

@ -72,6 +72,7 @@ namespace IRaCIS.Core.Domain.Models
public Guid TrialQCQuestionConfigureId { get; set; } public Guid TrialQCQuestionConfigureId { get; set; }
[JsonIgnore]
public TrialQCQuestion TrialQCQuestionConfigure { get; set; } public TrialQCQuestion TrialQCQuestionConfigure { get; set; }
} }

View File

@ -20,16 +20,17 @@ namespace IRaCIS.Core.Domain.Models
public TrialSiteSurveyEnum State { get; set; } = TrialSiteSurveyEnum.ToSubmit; public TrialSiteSurveyEnum State { get; set; } = TrialSiteSurveyEnum.ToSubmit;
// 必须 { get; set; } 否则 翻译出错 // 必须 { get; set; } 否则 翻译出错
[JsonIgnore]
public List<TrialSiteUserSurvey> TrialSiteUserSurveyList { get; set; } =new List<TrialSiteUserSurvey>(); public List<TrialSiteUserSurvey> TrialSiteUserSurveyList { get; set; } =new List<TrialSiteUserSurvey>();
[JsonIgnore]
public List<TrialSiteEquipmentSurvey> TrialSiteEquipmentSurveyList { get; set; } = new List<TrialSiteEquipmentSurvey>();
public List<TrialSiteEquipmentSurvey> TrialSiteEquipmentSurveyList { get; set; } = new List<TrialSiteEquipmentSurvey>(); [JsonIgnore]
public TrialSite TrialSite { get; set; } public TrialSite TrialSite { get; set; }
[JsonIgnore]
public Trial Trial { get; set; } public Trial Trial { get; set; }
[JsonIgnore]
public Site Site { get; set; } public Site Site { get; set; }
public DateTime? DeletedTime { get; set; } public DateTime? DeletedTime { get; set; }
@ -142,8 +143,9 @@ namespace IRaCIS.Core.Domain.Models
public DateTime? ReviewerTime { get; set; } public DateTime? ReviewerTime { get; set; }
[JsonIgnore]
public User ReviewerUser { get; set; } public User ReviewerUser { get; set; }
[JsonIgnore]
public User PreliminaryUser { get; set; } public User PreliminaryUser { get; set; }

View File

@ -179,7 +179,10 @@ namespace IRaCIS.Core.Infra.EFCore.Common
{ {
var entity = item.Entity as TrialQCQuestion; var entity = item.Entity as TrialQCQuestion;
var paretName = await _dbContext.TrialQCQuestionConfigure.Where(x => x.Id == entity.ParentId).Select(x => x.QuestionName).FirstOrDefaultAsync(); var paretName = await _dbContext.TrialQCQuestionConfigure.Where(x => x.Id == entity.ParentId).Select(x => x.QuestionName).FirstOrDefaultAsync();
await InsertInspection<TrialQCQuestion>(entity, type, null, new await InsertInspection<TrialQCQuestion>(entity, type, x => new InspectionConvertDTO()
{
ObjectRelationParentId = x.TrialId
}, new
{ {
QuestionName = entity.QuestionName, QuestionName = entity.QuestionName,
Type = entity.Type, Type = entity.Type,
@ -197,7 +200,10 @@ namespace IRaCIS.Core.Infra.EFCore.Common
// 检查 // 检查
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(DicomStudy))) foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(DicomStudy)))
{ {
await InsertInspection<DicomStudy>(item.Entity as DicomStudy, type); await InsertInspection<DicomStudy>(item.Entity as DicomStudy, type, x => new InspectionConvertDTO()
{
ObjectRelationParentId=x.SubjectVisitId
});
} }
// 序列 // 序列
@ -209,7 +215,10 @@ namespace IRaCIS.Core.Infra.EFCore.Common
{ {
dicomStudy = await _dbContext.DicomStudys.AsNoTracking().FirstOrDefaultAsync(x => x.Id == entity.StudyId); dicomStudy = await _dbContext.DicomStudys.AsNoTracking().FirstOrDefaultAsync(x => x.Id == entity.StudyId);
} }
await InsertInspection<DicomSeries>(item.Entity as DicomSeries, type, null, new await InsertInspection<DicomSeries>(item.Entity as DicomSeries, type, x => new InspectionConvertDTO()
{
ObjectRelationParentId = x.StudyId
}, new
{ {
StudyCode = dicomStudy?.StudyCode, StudyCode = dicomStudy?.StudyCode,
Modalities = dicomStudy?.Modalities, Modalities = dicomStudy?.Modalities,
@ -231,6 +240,8 @@ namespace IRaCIS.Core.Infra.EFCore.Common
TrialId = subjectvisit.TrialId, TrialId = subjectvisit.TrialId,
SubjectId = subjectvisit.SubjectId, SubjectId = subjectvisit.SubjectId,
ObjectRelationParentId=x.SubjectVisitId,
}, new }, new
{ {
Type = "既往手术史" Type = "既往手术史"
@ -249,6 +260,8 @@ namespace IRaCIS.Core.Infra.EFCore.Common
SubjectVisitName = subjectvisit.VisitName, SubjectVisitName = subjectvisit.VisitName,
TrialId = subjectvisit.TrialId, TrialId = subjectvisit.TrialId,
SubjectId = subjectvisit.SubjectId, SubjectId = subjectvisit.SubjectId,
ObjectRelationParentId = x.SubjectVisitId,
}, new }, new
{ {
Type = "既往放疗史" Type = "既往放疗史"
@ -267,6 +280,8 @@ namespace IRaCIS.Core.Infra.EFCore.Common
SubjectVisitName = subjectvisit.VisitName, SubjectVisitName = subjectvisit.VisitName,
TrialId = subjectvisit.TrialId, TrialId = subjectvisit.TrialId,
SubjectId = subjectvisit.SubjectId, SubjectId = subjectvisit.SubjectId,
ObjectRelationParentId = x.SubjectVisitId,
}, new }, new
{ {
Type = "其他治疗史" Type = "其他治疗史"
@ -293,6 +308,8 @@ namespace IRaCIS.Core.Infra.EFCore.Common
SubjectId = subjectvisit.SubjectId, SubjectId = subjectvisit.SubjectId,
SubjectVisitName = subjectvisit.VisitName, SubjectVisitName = subjectvisit.VisitName,
BlindName = subjectvisit.BlindName, BlindName = subjectvisit.BlindName,
ObjectRelationParentId=x.SubjectVisitId
}, new }, new
{ {
ChallengeCode = entity.ChallengeCode, ChallengeCode = entity.ChallengeCode,
@ -303,11 +320,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
} }
//Qc 问题
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(QCQuestion)))
{
await InsertInspection<QCQuestion>(item.Entity as QCQuestion, type);
}
// 一致性核查文件 // 一致性核查文件
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(ConsistencyCheckFile))) foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(ConsistencyCheckFile)))
@ -315,6 +328,9 @@ namespace IRaCIS.Core.Infra.EFCore.Common
await InsertInspection<ConsistencyCheckFile>(item.Entity as ConsistencyCheckFile, type, x => new InspectionConvertDTO() await InsertInspection<ConsistencyCheckFile>(item.Entity as ConsistencyCheckFile, type, x => new InspectionConvertDTO()
{ {
CreateTime = x.CreateTime, CreateTime = x.CreateTime,
ObjectRelationParentId=x.TrialId
}); });
} }
@ -405,8 +421,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
await InsertInspection<CheckChallengeDialog>(entity, type, x => new InspectionConvertDTO() await InsertInspection<CheckChallengeDialog>(entity, type, x => new InspectionConvertDTO()
{ {
GeneralId = entity.SubjectVisitId, GeneralId = entity.SubjectVisitId,
//byzhouhang
ObjectRelationParentId = entity.SubjectVisitId,
TrialId = subjectvisit.TrialId, TrialId = subjectvisit.TrialId,
SubjectVisitId = x.SubjectVisitId, SubjectVisitId = x.SubjectVisitId,
SiteId = subjectvisit.SiteId, SiteId = subjectvisit.SiteId,
@ -415,6 +430,9 @@ namespace IRaCIS.Core.Infra.EFCore.Common
BlindName = subjectvisit.BlindName, BlindName = subjectvisit.BlindName,
Reason = reason, Reason = reason,
CreateTime = x.CreateTime, CreateTime = x.CreateTime,
//byzhouhang
ObjectRelationParentId = entity.SubjectVisitId,
}, new }, new
{ {
CheckState = subjectvisit.CheckState, CheckState = subjectvisit.CheckState,
@ -442,8 +460,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
await InsertInspection<QCChallengeDialog>(entity, type, x => new InspectionConvertDTO() await InsertInspection<QCChallengeDialog>(entity, type, x => new InspectionConvertDTO()
{ {
GeneralId = qCChallenge.Id, GeneralId = qCChallenge.Id,
//byzhouhang
ObjectRelationParentId = qCChallenge.Id,
TrialId = subjectvisit.TrialId, TrialId = subjectvisit.TrialId,
SubjectVisitId = x.SubjectVisitId, SubjectVisitId = x.SubjectVisitId,
@ -452,6 +469,8 @@ namespace IRaCIS.Core.Infra.EFCore.Common
SubjectVisitName = subjectvisit.VisitName, SubjectVisitName = subjectvisit.VisitName,
BlindName = subjectvisit.BlindName, BlindName = subjectvisit.BlindName,
Reason = reason, Reason = reason,
//byzhouhang
ObjectRelationParentId = qCChallenge.Id,
}, new }, new
{ {
AuditState = subjectvisit.AuditState, AuditState = subjectvisit.AuditState,
@ -494,7 +513,11 @@ namespace IRaCIS.Core.Infra.EFCore.Common
}); });
} }
//Qc 问题
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(QCQuestion)))
{
await InsertInspection<QCQuestion>(item.Entity as QCQuestion, type);
}
// 项目文档 // 项目文档
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(TrialDocument))) foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(TrialDocument)))