diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index e6f523192..e8ac5c764 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -4745,11 +4745,6 @@ 文件路径 - - - 创建时间 - - 创建人 diff --git a/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs b/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs index 2f0b41192..9f5dbfc37 100644 --- a/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs @@ -221,7 +221,6 @@ namespace IRaCIS.Core.Application.ViewModel public class AnalysisTaskView : ReadingTaskView { - public bool? IsSelfAnalysis { get; set; } public int ConsistentClinicalDataCount { get; set; } = 0; diff --git a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs index 27ced84d5..fcb0823f4 100644 --- a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs +++ b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs @@ -821,7 +821,7 @@ namespace IRaCIS.Core.Application.Service.Common .WhereIf(inQuery.SubjectVisitId != null, t => t.SubjectId == inQuery.SubjectVisitId) .WhereIf(inQuery.TrialSiteId != null, t => t.Subject.TrialSiteId == inQuery.TrialSiteId) .WhereIf(inQuery.IsDicom != null, t => t.IsDicom == inQuery.IsDicom) - .WhereIf(!string.IsNullOrWhiteSpace(inQuery.Uploader), t => t.Uploader.UserName.Contains(inQuery.Uploader)) + .WhereIf(!string.IsNullOrWhiteSpace(inQuery.Uploader), t => t.CreateUser.UserName.Contains(inQuery.Uploader)) .WhereIf(inQuery.IsSuccess != null, t => t.IsSuccess == inQuery.IsSuccess) .WhereIf(!string.IsNullOrWhiteSpace(inQuery.StudyCode), t => t.StudyCode.Contains(inQuery.StudyCode)) .Select(t => new UnionStudyMonitorExportDto() @@ -838,7 +838,7 @@ namespace IRaCIS.Core.Application.Service.Common IsDicom = t.IsDicom, - Uploader = t.Uploader.UserName, + Uploader = t.CreateUser.UserName, IP = t.IP, diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs index 94cb36c6b..6420df534 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs @@ -771,10 +771,10 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc } var query = _visitTaskRepository.Where(t => t.SubjectId == inQuery.SubjectId && t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId - && t.SourceSubjectVisitId != null && t.DoctorUserId == doctorUserId && t.TaskState == TaskState.Effect && t.IsAnalysisCreate == isAnalysisCreate) + && t.SourceSubjectVisitId != null && t.DoctorUserId == doctorUserId && t.TaskState == TaskState.Effect) .ProjectTo(_mapper.ConfigurationProvider); - + //这里过滤是否是一致性分析的 var list = await query.Where(t => t.SubjectCode == inQuery.SubjectCode).ToListAsync(); foreach (var item in list) diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs index 9c7bc702c..a3eb2f0fe 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs @@ -411,7 +411,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc TrialSiteCode = t.Subject.TrialSite.TrialSiteCode, - Uploader = t.Uploader.UserName, + Uploader = t.CreateUser.UserName, UploadTime = t.CreateTime @@ -493,7 +493,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc .WhereIf(inQuery.SubjectVisitId != null, t => t.SubjectId == inQuery.SubjectVisitId) .WhereIf(inQuery.TrialSiteId != null, t => t.Subject.TrialSiteId == inQuery.TrialSiteId) .WhereIf(inQuery.IsDicom != null, t => t.IsDicom == inQuery.IsDicom) - .WhereIf(!string.IsNullOrWhiteSpace(inQuery.Uploader), t => t.Uploader.UserName.Contains(inQuery.Uploader)) + .WhereIf(!string.IsNullOrWhiteSpace(inQuery.Uploader), t => t.CreateUser.UserName.Contains(inQuery.Uploader)) .WhereIf(inQuery.IsSuccess != null, t => t.IsSuccess == inQuery.IsSuccess) .WhereIf(!string.IsNullOrWhiteSpace(inQuery.StudyCode), t => t.StudyCode.Contains(inQuery.StudyCode)) .Select(t => new UnionStudyMonitorModel() @@ -514,7 +514,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc TrialSiteCode = t.Subject.TrialSite.TrialSiteCode, - Uploader = t.Uploader.UserName, + Uploader = t.CreateUser.UserName, UploadTime = t.CreateTime, diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/_MapConfig.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/_MapConfig.cs index 3e902c646..6b0cf422a 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/_MapConfig.cs @@ -43,8 +43,8 @@ namespace IRaCIS.Core.Application.Service CreateMap().IncludeMembers(t => t.Subject, u => u.SubjectVisit) .ForMember(d => d.SiteName, u => u.MapFrom(s => s.Subject.TrialSite.TrialSiteName)) - .ForMember(d => d.UploaderFirstName, u => u.MapFrom(s => s.Uploader.FirstName)) - .ForMember(d => d.UploaderLastName, u => u.MapFrom(s => s.Uploader.LastName)) + .ForMember(d => d.UploaderFirstName, u => u.MapFrom(s => s.CreateUser.FirstName)) + .ForMember(d => d.UploaderLastName, u => u.MapFrom(s => s.CreateUser.LastName)) .ForMember(d => d.UploadedTime, u => u.MapFrom(s => s.CreateTime)); CreateMap(); @@ -69,7 +69,7 @@ namespace IRaCIS.Core.Application.Service CreateMap() .ForMember(o => o.IsCompleteClinicalData, t => t.MapFrom(u => !u.ReadingClinicalDataList.Any(x => x.ReadingClinicalDataPDFList.Count() == 0))) .ForMember(o => o.UploadedTime, t => t.MapFrom(u => u.CreateTime)) - .ForMember(o => o.Uploader, t => t.MapFrom(u => u.Uploader.LastName + " / " + u.Uploader.FirstName)) + .ForMember(o => o.Uploader, t => t.MapFrom(u => u.CreateUser.LastName + " / " + u.CreateUser.FirstName)) .ForMember(o => o.StudyId, t => t.MapFrom(u => u.Id)) .ForMember(o => o.IsHaveUploadFailed, t => t.MapFrom(u => u.DicomStudyMonitorList.Any(t => t.FailedFileCount > 0))) .ForMember(o => o.Modalities, t => t.MapFrom(u => string.Join('、', u.SeriesList.Select(t => t.Modality).Distinct()))); diff --git a/IRaCIS.Core.Application/Service/QC/_MapConfig.cs b/IRaCIS.Core.Application/Service/QC/_MapConfig.cs index 0806e360d..7420acff1 100644 --- a/IRaCIS.Core.Application/Service/QC/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/QC/_MapConfig.cs @@ -536,7 +536,7 @@ namespace IRaCIS.Core.Application.Service // 一致性核查文件 CreateMap() - .ForMember(d => d.CreateUserName, u => u.MapFrom(t => t.User.FirstName + "/" + t.User.LastName)); + .ForMember(d => d.CreateUserName, u => u.MapFrom(t => t.CreateUser.FullName)); //CRC 质疑列表 diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs index 00ac54b9e..180f9eee2 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs @@ -161,11 +161,6 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public List TrialCriterionNameList { get; set; } - /// - /// 创建时间 - /// - public DateTime CreateTime { get; set; } - /// /// 创建人 /// diff --git a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs index fe279c652..1cdb45816 100644 --- a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs @@ -337,7 +337,7 @@ namespace IRaCIS.Core.Application.Service CreateMap() .ForMember(o => o.UploadedTime, t => t.MapFrom(u => u.CreateTime)) - .ForMember(o => o.Uploader, t => t.MapFrom(u => u.Uploader.LastName + " / " + u.Uploader.FirstName)) + .ForMember(o => o.Uploader, t => t.MapFrom(u => u.CreateUser.LastName + " / " + u.CreateUser.FirstName)) .ForMember(o => o.StudyId, t => t.MapFrom(u => u.Id)); CreateMap() diff --git a/IRaCIS.Core.Application/Service/Third-partyProject/UltrasonicDicomService.cs b/IRaCIS.Core.Application/Service/Third-partyProject/UltrasonicDicomService.cs index b72a4ea04..e03d132b2 100644 --- a/IRaCIS.Core.Application/Service/Third-partyProject/UltrasonicDicomService.cs +++ b/IRaCIS.Core.Application/Service/Third-partyProject/UltrasonicDicomService.cs @@ -132,7 +132,7 @@ namespace IRaCIS.Core.Application.Service.Third_partyProject TrialSiteCode = dicomStudy.Subject.TrialSite.TrialSiteCode, - Uploader = dicomStudy.Uploader.UserName, + Uploader = dicomStudy.CreateUser.UserName, UploadTime = dicomStudy.CreateTime }; diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs index ed572a3c3..7666c65a7 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs @@ -191,8 +191,8 @@ namespace IRaCIS.Core.Application.Service CreateMap(); CreateMap() - .ForMember(t => t.UserRealName, u => u.MapFrom(c => c.User.FullName)) - .ForMember(t => t.UserName, u => u.MapFrom(c => c.User.UserName)); + .ForMember(t => t.UserRealName, u => u.MapFrom(c => c.CreateUser.FullName)) + .ForMember(t => t.UserName, u => u.MapFrom(c => c.CreateUser.UserName)); diff --git a/IRaCIS.Core.Application/TestService.cs b/IRaCIS.Core.Application/TestService.cs index 7f2b67c54..3123ebec9 100644 --- a/IRaCIS.Core.Application/TestService.cs +++ b/IRaCIS.Core.Application/TestService.cs @@ -159,10 +159,10 @@ namespace IRaCIS.Application.Services ConfirmUserId = confirm.ConfirmUserId, ConfirmTime = confirm.ConfirmTime, - RealName = confirm.User.FullName, - UserName = confirm.User.UserName, - UserTypeId = confirm.User.UserTypeId, - UserTypeShortName = confirm.User.UserTypeRole.UserTypeShortName, + RealName = confirm.ConfirmUser.FullName, + UserName = confirm.ConfirmUser.UserName, + UserTypeId = confirm.ConfirmUser.UserTypeId, + UserTypeShortName = confirm.ConfirmUser.UserTypeRole.UserTypeShortName, FullFilePath = sysDoc.Path }; diff --git a/IRaCIS.Core.Domain/Allocation/VisitTaskReReading.cs b/IRaCIS.Core.Domain/Allocation/VisitTaskReReading.cs index 0adc8f6e1..0dc2897ef 100644 --- a/IRaCIS.Core.Domain/Allocation/VisitTaskReReading.cs +++ b/IRaCIS.Core.Domain/Allocation/VisitTaskReReading.cs @@ -31,10 +31,6 @@ namespace IRaCIS.Core.Domain.Models [JsonIgnore] public User RequestReReadingConfirmUser { get; set; } - - [JsonIgnore] - public User CreateUser { get; set; } - [JsonIgnore] public Trial Trial { get; set; } diff --git a/IRaCIS.Core.Domain/BaseModel/Entity.cs b/IRaCIS.Core.Domain/BaseModel/Entity.cs index 76ba5c65d..40be4fc1c 100644 --- a/IRaCIS.Core.Domain/BaseModel/Entity.cs +++ b/IRaCIS.Core.Domain/BaseModel/Entity.cs @@ -68,6 +68,10 @@ namespace IRaCIS.Core.Domain.Models public Guid CreateUserId { get; set; } public DateTime CreateTime { get; set; } + + [ForeignKey("CreateUserId")] + [JsonIgnore] + public User CreateUser { get; set; } } public abstract class BaseAddDeleteAuditEntity : Entity, IAuditAdd, ISoftDelete @@ -78,6 +82,10 @@ namespace IRaCIS.Core.Domain.Models public Guid? DeleteUserId { get; set; } public bool IsDeleted { get; set; } public DateTime? DeletedTime { get; set; } + + [ForeignKey("CreateUserId")] + [JsonIgnore] + public User CreateUser { get; set; } } public abstract class BaseFullAuditEntity : Entity, IAuditUpdate, IAuditAdd @@ -87,9 +95,9 @@ namespace IRaCIS.Core.Domain.Models public Guid UpdateUserId { get; set; } public DateTime UpdateTime { get; set; } - //[ForeignKey("CreateUserId")] - //[JsonIgnore] - //public User CreateUser { get; set; } + [ForeignKey("CreateUserId")] + [JsonIgnore] + public User CreateUser { get; set; } } @@ -102,6 +110,10 @@ namespace IRaCIS.Core.Domain.Models public DateTime CreateTime { get; set; } public Guid UpdateUserId { get; set; } public DateTime UpdateTime { get; set; } + + [ForeignKey("CreateUserId")] + [JsonIgnore] + public User CreateUser { get; set; } } @@ -112,6 +124,8 @@ namespace IRaCIS.Core.Domain.Models public Guid CreateUserId { get; set; } public DateTime CreateTime { get; set; } + + } public abstract class BaseAuditUpdateEntity : Entity, IAuditUpdate diff --git a/IRaCIS.Core.Domain/Document/SystemDocConfirmedUser.cs b/IRaCIS.Core.Domain/Document/SystemDocConfirmedUser.cs index c684334ef..13b1121ef 100644 --- a/IRaCIS.Core.Domain/Document/SystemDocConfirmedUser.cs +++ b/IRaCIS.Core.Domain/Document/SystemDocConfirmedUser.cs @@ -21,7 +21,7 @@ namespace IRaCIS.Core.Domain.Models [JsonIgnore] [ForeignKey("ConfirmUserId")] - public User User { get; set; } + public User ConfirmUser { get; set; } #endregion diff --git a/IRaCIS.Core.Domain/Image/DicomStudy.cs b/IRaCIS.Core.Domain/Image/DicomStudy.cs index b22588a77..be3b91965 100644 --- a/IRaCIS.Core.Domain/Image/DicomStudy.cs +++ b/IRaCIS.Core.Domain/Image/DicomStudy.cs @@ -24,11 +24,6 @@ namespace IRaCIS.Core.Domain.Models [ForeignKey("SubjectVisitId")] public SubjectVisit SubjectVisit { get; set; } - - [JsonIgnore] - [ForeignKey("CreateUserId")] - public User Uploader { get; set; } - [JsonIgnore] public List ReadingClinicalDataList { get; set; } diff --git a/IRaCIS.Core.Domain/Image/DicomStudyMonitor.cs b/IRaCIS.Core.Domain/Image/DicomStudyMonitor.cs index e3d7716da..896391437 100644 --- a/IRaCIS.Core.Domain/Image/DicomStudyMonitor.cs +++ b/IRaCIS.Core.Domain/Image/DicomStudyMonitor.cs @@ -37,9 +37,6 @@ namespace IRaCIS.Core.Domain.Models [JsonIgnore] [ForeignKey("TrialId")] public Trial Trial { get; set; } - [JsonIgnore] - [ForeignKey("CreateUserId")] - public User Uploader { get; set; } #endregion diff --git a/IRaCIS.Core.Domain/Image/NoneDicomStudy.cs b/IRaCIS.Core.Domain/Image/NoneDicomStudy.cs index cc952b815..84f13892f 100644 --- a/IRaCIS.Core.Domain/Image/NoneDicomStudy.cs +++ b/IRaCIS.Core.Domain/Image/NoneDicomStudy.cs @@ -27,11 +27,6 @@ namespace IRaCIS.Core.Domain.Models [JsonIgnore] public Subject Subject { get; set; } - - [JsonIgnore] - [ForeignKey("CreateUserId")] - public User CreateUser { get; set; } - #endregion diff --git a/IRaCIS.Core.Domain/Image/TaskStudy.cs b/IRaCIS.Core.Domain/Image/TaskStudy.cs index 7cabd23e5..7d163196d 100644 --- a/IRaCIS.Core.Domain/Image/TaskStudy.cs +++ b/IRaCIS.Core.Domain/Image/TaskStudy.cs @@ -26,11 +26,6 @@ namespace IRaCIS.Core.Domain.Models public Subject Subject { get; set; } - - [JsonIgnore] - [ForeignKey("CreateUserId")] - public User Uploader { get; set; } - #endregion public Guid SeqId { get; set; } diff --git a/IRaCIS.Core.Domain/Image/TrialImageDownload.cs b/IRaCIS.Core.Domain/Image/TrialImageDownload.cs index bc9a18571..effc0cc64 100644 --- a/IRaCIS.Core.Domain/Image/TrialImageDownload.cs +++ b/IRaCIS.Core.Domain/Image/TrialImageDownload.cs @@ -15,8 +15,6 @@ namespace IRaCIS.Core.Domain.Models [JsonIgnore] public Trial Trial { get; set; } - [JsonIgnore] - public User CreateUser { get; set; } #endregion public Guid TrialId { get; set; } diff --git a/IRaCIS.Core.Domain/Management/Notice/SystemNotice.cs b/IRaCIS.Core.Domain/Management/Notice/SystemNotice.cs index 33fc437d5..25ea4b33a 100644 --- a/IRaCIS.Core.Domain/Management/Notice/SystemNotice.cs +++ b/IRaCIS.Core.Domain/Management/Notice/SystemNotice.cs @@ -24,8 +24,6 @@ namespace IRaCIS.Core.Domain.Models [JsonIgnore] public List NoticeUserReadList { get; set; } = new List(); - [JsonIgnore] - public User CreateUser { get; set; } #endregion diff --git a/IRaCIS.Core.Domain/Management/User.cs b/IRaCIS.Core.Domain/Management/User.cs index a70f563e1..89b77911a 100644 --- a/IRaCIS.Core.Domain/Management/User.cs +++ b/IRaCIS.Core.Domain/Management/User.cs @@ -23,9 +23,6 @@ namespace IRaCIS.Core.Domain.Models [JsonIgnore] public List VisitTaskList { get; set; } - [JsonIgnore] - [ForeignKey("DoctorId")] - public Doctor Doctor { get; set; } #endregion diff --git a/IRaCIS.Core.Domain/Management/UserFeedBack.cs b/IRaCIS.Core.Domain/Management/UserFeedBack.cs index d02c8c12e..b9006d951 100644 --- a/IRaCIS.Core.Domain/Management/UserFeedBack.cs +++ b/IRaCIS.Core.Domain/Management/UserFeedBack.cs @@ -25,11 +25,9 @@ namespace IRaCIS.Core.Domain.Models public SubjectVisit SubjectVisit { get; set; } [JsonIgnore] public TrialSite TrialSite { get; set; } - [JsonIgnore] - public User CreateUser { get; set; } + [JsonIgnore] - public VisitTask VisitTask { get; set; } [NotMapped] diff --git a/IRaCIS.Core.Domain/QC/CheckChallengeDialog.cs b/IRaCIS.Core.Domain/QC/CheckChallengeDialog.cs index 3dd8bc9a0..f956548f0 100644 --- a/IRaCIS.Core.Domain/QC/CheckChallengeDialog.cs +++ b/IRaCIS.Core.Domain/QC/CheckChallengeDialog.cs @@ -18,8 +18,6 @@ namespace IRaCIS.Core.Domain.Models public Guid SubjectVisitId { get; set; } - public User CreateUser { get; set; } - public UserTypeEnum UserTypeEnum { get; set; } diff --git a/IRaCIS.Core.Domain/QC/ConsistencyCheckFile.cs b/IRaCIS.Core.Domain/QC/ConsistencyCheckFile.cs index 89f04ad74..d49718324 100644 --- a/IRaCIS.Core.Domain/QC/ConsistencyCheckFile.cs +++ b/IRaCIS.Core.Domain/QC/ConsistencyCheckFile.cs @@ -11,9 +11,7 @@ namespace IRaCIS.Core.Domain.Models public class InspectionFile : BaseAddAuditEntity { #region 导航属性 - [JsonIgnore] - [ForeignKey("CreateUserId")] - public User User { get; set; } + #endregion public string FileName { get; set; } = string.Empty; diff --git a/IRaCIS.Core.Domain/QC/QCChallenge.cs b/IRaCIS.Core.Domain/QC/QCChallenge.cs index 86513fc7e..a74cc9901 100644 --- a/IRaCIS.Core.Domain/QC/QCChallenge.cs +++ b/IRaCIS.Core.Domain/QC/QCChallenge.cs @@ -9,9 +9,6 @@ namespace IRaCIS.Core.Domain.Models { #region 导航属性 [JsonIgnore] - [ForeignKey("CreateUserId")] - public User CreateUser { get; set; } - [JsonIgnore] [ForeignKey("LatestReplyUserId")] public User LatestReplyUser { get; set; } [JsonIgnore] diff --git a/IRaCIS.Core.Domain/QC/QCChallengeDialog.cs b/IRaCIS.Core.Domain/QC/QCChallengeDialog.cs index b01a25b0f..253aab1a2 100644 --- a/IRaCIS.Core.Domain/QC/QCChallengeDialog.cs +++ b/IRaCIS.Core.Domain/QC/QCChallengeDialog.cs @@ -9,9 +9,6 @@ namespace IRaCIS.Core.Domain.Models #region 导航属性 [JsonIgnore] public QCChallenge QCChallenge { get; set; } - [JsonIgnore] - [ForeignKey("CreateUserId")] - public User CreateUser { get; set; } #endregion public string TalkContent { get; set; } = string.Empty; diff --git a/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicalReviewDialog.cs b/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicalReviewDialog.cs index bfa14c86f..425608dcc 100644 --- a/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicalReviewDialog.cs +++ b/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicalReviewDialog.cs @@ -47,9 +47,6 @@ namespace IRaCIS.Core.Domain.Models } } - [JsonIgnore] - [ForeignKey("CreateUserId")] - public User CreateUser { get; set; } #endregion /// diff --git a/IRaCIS.Core.Domain/Trial/EnrollDetail.cs b/IRaCIS.Core.Domain/Trial/EnrollDetail.cs index 6e27b8200..84bd02145 100644 --- a/IRaCIS.Core.Domain/Trial/EnrollDetail.cs +++ b/IRaCIS.Core.Domain/Trial/EnrollDetail.cs @@ -11,9 +11,6 @@ namespace IRaCIS.Core.Domain.Models [JsonIgnore] public virtual TrialStatusDetail TrialDetail { get; set; } [JsonIgnore] - [ForeignKey("CreateUserId")] - public User CreateUser { get; set; } - [JsonIgnore] public Doctor Doctor { get; set; } #endregion diff --git a/IRaCIS.Core.Domain/Trial/TrialStateChange.cs b/IRaCIS.Core.Domain/Trial/TrialStateChange.cs index 6bfdfdd91..9bea5be22 100644 --- a/IRaCIS.Core.Domain/Trial/TrialStateChange.cs +++ b/IRaCIS.Core.Domain/Trial/TrialStateChange.cs @@ -18,10 +18,6 @@ namespace IRaCIS.Core.Domain.Models [ForeignKey("TrialId")] public Trial Trial { get; set; } - [JsonIgnore] - [ForeignKey("CreateUserId")] - public User User { get; set; } - #endregion public Guid TrialId { get; set; } diff --git a/IRaCIS.Core.Domain/TrialSiteUser/TrialUser.cs b/IRaCIS.Core.Domain/TrialSiteUser/TrialUser.cs index 1e5c15a93..9c4482a09 100644 --- a/IRaCIS.Core.Domain/TrialSiteUser/TrialUser.cs +++ b/IRaCIS.Core.Domain/TrialSiteUser/TrialUser.cs @@ -14,10 +14,12 @@ namespace IRaCIS.Core.Domain.Models #region 导航属性 [JsonIgnore] public Trial Trial { get; set; } + [JsonIgnore] [ForeignKey("UserId")] public User User { get; set; } #endregion + public Guid UserId { get; set; } public Guid TrialId { get; set; } diff --git a/IRaCIS.Core.Domain/Visit/VisitPlanInfluenceStat.cs b/IRaCIS.Core.Domain/Visit/VisitPlanInfluenceStat.cs index 184505791..ad8b9aad9 100644 --- a/IRaCIS.Core.Domain/Visit/VisitPlanInfluenceStat.cs +++ b/IRaCIS.Core.Domain/Visit/VisitPlanInfluenceStat.cs @@ -17,10 +17,6 @@ namespace IRaCIS.Core.Domain.Models { #region 导航属性 - [JsonIgnore] - [ForeignKey("CreateUserId")] - public User CreateUser { get; set; } - [JsonIgnore] public List InfluenceStudyList { get; set; } = new List(); diff --git a/IRaCIS.Core.Domain/Visit/VisitPlanInfluenceStudy.cs b/IRaCIS.Core.Domain/Visit/VisitPlanInfluenceStudy.cs index d0173db02..aaf77f1f2 100644 --- a/IRaCIS.Core.Domain/Visit/VisitPlanInfluenceStudy.cs +++ b/IRaCIS.Core.Domain/Visit/VisitPlanInfluenceStudy.cs @@ -15,9 +15,6 @@ namespace IRaCIS.Core.Domain.Models { #region 导航属性 [JsonIgnore] - [ForeignKey("CreateUserId")] - public User CreateUser { get; set; } - [JsonIgnore] [ForeignKey("VisitPlanInfluenceStatId")] public VisitPlanInfluenceStat VisitPlanInfluenceStat { get; set; } [JsonIgnore] diff --git a/IRaCIS.Core.Infra.EFCore/EntityConfigration/SubjectConfigration.cs b/IRaCIS.Core.Infra.EFCore/EntityConfigration/SubjectConfigration.cs index 1dff62f9b..8bd0f057b 100644 --- a/IRaCIS.Core.Infra.EFCore/EntityConfigration/SubjectConfigration.cs +++ b/IRaCIS.Core.Infra.EFCore/EntityConfigration/SubjectConfigration.cs @@ -1,16 +1,17 @@ using IRaCIS.Core.Domain.Models; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; +using System.Reflection.Emit; namespace IRaCIS.Core.Infra.EFCore.EntityConfigration { public class SubjectConfigration : IEntityTypeConfiguration - { + { public void Configure(EntityTypeBuilder builder) { //不能同时配置一对多 和一对一 但是有时表要存储多的最新的 比如受试者 最新的访视 在这里要显示配置 - builder.HasOne(s => s.LatestSubjectVisit).WithMany().HasForeignKey(t => t.LatestSubjectVisitId); + builder.HasOne(s => s.LatestSubjectVisit).WithMany().HasForeignKey(t => t.LatestSubjectVisitId); builder.HasOne(s => s.FinalSubjectVisit).WithMany().HasForeignKey(t => t.FinalSubjectVisitId); builder.HasMany(s => s.SubjectVisitList).WithOne(sv => sv.Subject).HasForeignKey(t => t.SubjectId); } @@ -48,9 +49,39 @@ namespace IRaCIS.Core.Infra.EFCore.EntityConfigration { public void Configure(EntityTypeBuilder builder) { + //User 和VisitTask 存在一对多的关系 这里不显式配置就报错,why? builder.HasMany(t => t.VisitTaskList).WithOne(t => t.DoctorUser).HasForeignKey(t => t.DoctorUserId); //builder.HasOne(t => t.Doctor).WithOne(t => t.User); } } + + public class SystemDocConfirmedUserConfigration : IEntityTypeConfiguration + { + public void Configure(EntityTypeBuilder builder) + { + //// 配置 CreateUser 关系 + //builder.HasOne(s => s.CreateUser) + // .WithMany() // 假设 User 表没有对应的反向导航属性,如果有,填入属性名 + // .HasForeignKey(s => s.CreateUserId); + ////.OnDelete(DeleteBehavior.Restrict); // 可根据业务需求调整删除行为 + + // 配置 ConfirmUser 关系 + builder.HasOne(s => s.ConfirmUser) // ConfirmUser + .WithMany(t => t.SystemDocConfirmedList) + .HasForeignKey(s => s.ConfirmUserId); + //.OnDelete(DeleteBehavior.Restrict); + } + } + + public class TrialUserConfigration : IEntityTypeConfiguration + { + public void Configure(EntityTypeBuilder builder) + { + builder.HasOne(s => s.User) + .WithMany(t => t.UserTrials) + .HasForeignKey(s => s.UserId); + } + } + }