using AutoMapper; using IRaCIS.Core.Application.Contracts; using IRaCIS.Core.Application.Service.Reading.Dto; using IRaCIS.Core.Application.ViewModel; using IRaCIS.Core.Infra.EFCore.Common; namespace IRaCIS.Core.Application.Service { public class ReadingConfig : Profile { public ReadingConfig() { //是否英文环境 var isEn_Us = false; //标准Id List CriterionIds = new List(); #region 临床问题 CreateMap() .ForMember(d => d.GroupName, opt => opt.MapFrom(src => src.GroupQuestin.QuestionName)) .ForMember(d => d.GroupEnName, opt => opt.MapFrom(src => src.GroupQuestin.QuestionEnName)); CreateMap(); CreateMap() .ForMember(d => d.GroupName, opt => opt.MapFrom(src => src.GroupQuestin.QuestionName)) .ForMember(d => d.GroupEnName, opt => opt.MapFrom(src => src.GroupQuestin.QuestionEnName)); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()) .ForMember(d => d.SystemClinicalQuestionId, opt => opt.MapFrom(src => src.Id)); CreateMap() .ForMember(d => d.CreateUserRole, opt => opt.Ignore()) .ForMember(d => d.SystemClinicalQuestionId, opt => opt.MapFrom(src => src.Id)); CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()) .ForMember(d => d.SystemTableQuestionId, u => u.MapFrom(s => s.Id)); CreateMap() .ForMember(d => d.SystemTableQuestionId, opt => opt.MapFrom(src => src.Id)) .ForMember(d => d.CreateUserRole, opt => opt.Ignore()); // 预览 CreateMap(); CreateMap(); CreateMap(); CreateMap(); #endregion CreateMap(); CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()) .ForAllMembers(opts => opts.Condition((src, dest, srcMember) => srcMember != null)); CreateMap(); CreateMap().ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap(); CreateMap().ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap(); CreateMap().ReverseMap().ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap().ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap().ReverseMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()) .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap() .ForMember(d => d.QuestionMark, u => u.MapFrom(s => s.ReadingTableQuestionTrial == null ? null : s.ReadingTableQuestionTrial.QuestionMark)); CreateMap(); CreateMap() .ForMember(d => d.SubjectVisitName, u => u.MapFrom(s => s.VisitStage == null ? string.Empty : s.VisitStage.VisitName)) .ForMember(d => d.SiteIds, u => u.MapFrom(s => s.ReadingPeriodSites.Select(x => x.TrialSiteId))) .ForMember(d => d.SiteCodes, u => u.MapFrom(s => s.ReadingPeriodSites.Select(x => x.TrialSite.TrialSiteCode))) .ForMember(d => d.PlanCount, u => u.MapFrom(s => s.ReadingPeriodPlanList.Count)); CreateMap() .ForMember(d => d.ChildGroup, u => u.MapFrom(s => s.Dictionary.ChildGroup)) .ForMember(d => d.Code, u => u.MapFrom(s => s.Dictionary.Code)) .ForMember(d => d.Description, u => u.MapFrom(s => s.Dictionary.Description)) .ForMember(d => d.ShowOrder, u => u.MapFrom(s => s.Dictionary.ShowOrder)) .ForMember(d => d.ParentCode, u => u.MapFrom(s => s.Dictionary.Parent.Code)) .ForMember(d => d.Value, u => u.MapFrom(s => s.Dictionary.Value)) .ForMember(d => d.ValueCN, u => u.MapFrom(s => s.Dictionary.ValueCN)); CreateMap() .ForMember(d => d.ChildGroup, u => u.MapFrom(s => s.Dictionary.ChildGroup)) .ForMember(d => d.Code, u => u.MapFrom(s => s.Dictionary.Code)) .ForMember(d => d.Description, u => u.MapFrom(s => s.Dictionary.Description)) .ForMember(d => d.ShowOrder, u => u.MapFrom(s => s.Dictionary.ShowOrder)) .ForMember(d => d.ParentCode, u => u.MapFrom(s => s.Dictionary.Parent.Code)) .ForMember(d => d.Value, u => u.MapFrom(s => s.Dictionary.Value)) .ForMember(d => d.ValueCN, u => u.MapFrom(s => s.Dictionary.ValueCN)); CreateMap() .ForMember(d => d.FristAddTaskId, u => u.MapFrom(s => s.FirstAddTaskId!.Value)); CreateMap(); CreateMap(); //CreateMap(); // CreateMap() //.ForMember(d => d.ClinicalDataLevel, u => u.MapFrom(s => s.ClinicalDataTrialSet.ClinicalDataLevel)) //.ForMember(d => d.ClinicalDataLevelName, u => u.MapFrom(s => s.ClinicalDataTrialSet.ClinicalDataSetName)) //.ForMember(d => d.ClinicalUploadType, u => u.MapFrom(s => s.ClinicalDataTrialSet.ClinicalUploadType)); //.ForMember(d => d.FileCount, u => u.MapFrom(s => s.ReadingClinicalDataPDFList.Count())); CreateMap(); //.ForMember(d => d.SiteNames, u => u.MapFrom(s => s.ReadingPeriodSites.SelectMany(x => x.Site.SiteName).ToList())); CreateMap().ReverseMap(); CreateMap().ReverseMap(); CreateMap().ReverseMap(); CreateMap().ReverseMap(); CreateMap().ReverseMap(); CreateMap() .ForMember(t => t.TrialCriterionNameList, u => u.MapFrom(c => c.TrialClinicalDataSetCriteriaList.Where(x => CriterionIds.Contains(x.TrialReadingCriterionId)).Select(t => t.TrialReadingCriterion.CriterionName))) .ForMember(t => t.TrialCriterionIdList, u => u.MapFrom(c => c.TrialClinicalDataSetCriteriaList.Select(t => t.TrialReadingCriterion.Id))) .ForMember(d => d.IsUsed, u => u.MapFrom(s => s.ReadingClinicalDataList.Count() > 0)) ; CreateMap(); //.ForMember(t=>t.SystemCriterionNameList,u=>u.MapFrom(c=>c.SystemClinicalDataCriterionList.Select(t=>t.SystemReadingCriterion.CriterionName))) //.ForMember(t => t.SystemCriterionIdList, u => u.MapFrom(c => c.SystemClinicalDataCriterionList.Select(t => t.SystemReadingCriterion.Id))); CreateMap().ReverseMap().ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap(); CreateMap().ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap(); CreateMap().ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap() .ForMember(d => d.OriginalId, u => u.MapFrom(s => s.Id)); //.ForMember(dest => dest.Instance, opt => opt.Ignore()) //.ForMember(dest => dest.ReadingQuestionTrial, opt => opt.Ignore()); #region 阅片问题 // 忽略列 CreateMap() .ForMember(d => d.QuestionName, u => u.MapFrom(s => isEn_Us ? s.QuestionEnName : s.QuestionName)) .ForMember(d => d.GroupName, u => u.MapFrom(s => isEn_Us ? s.GroupEnName : s.GroupName)) .ForMember(dest => dest.ReadingCriterionPage, opt => opt.Ignore()) .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()) .ForMember(dest => dest.ParentReadingQuestionTrial, opt => opt.Ignore()) .ForMember(dest => dest.RelevanceReadingQuestionTrial, opt => opt.Ignore()) .ForMember(dest => dest.ReadingQuestionCriterionTrial, opt => opt.Ignore()); CreateMap() .ForMember(d => d.LesionType, u => u.MapFrom(s => s.ReadingQuestionTrial.LesionType)) .ForMember(d => d.ShowOrder, u => u.MapFrom(s => s.ReadingQuestionTrial.ShowOrder)) .ForMember(d => d.OrderMark, u => u.MapFrom(s => s.ReadingQuestionTrial.OrderMark)) .ForMember(d => d.RowIndex, u => u.MapFrom(s => s.RowIndex.ToString())) .ForMember(d => d.RowIndexNum, u => u.MapFrom(s => s.RowIndex)) .ForMember(d => d.RowId, u => u.MapFrom(s => s.Id)) ; CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()) .ForMember(d => d.QuestionName, u => u.MapFrom(s => isEn_Us ? s.QuestionEnName : s.QuestionName)); CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()) .ForMember(d => d.ShowOrder, u => u.MapFrom(s => s.ReadingQuestionTrial.ShowOrder)) .ForMember(d => d.QuestionMark, u => u.MapFrom(s => s.ReadingTableQuestionTrial.QuestionMark)); CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()) .ForMember(d => d.QuestionName, u => u.MapFrom(s => isEn_Us ? s.QuestionEnName : s.QuestionName)) .ForMember(d => d.GroupName, u => u.MapFrom(s => isEn_Us ? s.GroupEnName : s.GroupName)) .ForMember(d => d.PageShowOrder, u => u.MapFrom(s => s.ReadingCriterionPage.ShowOrder)) .ForMember(d => d.PageName, u => u.MapFrom(s => s.ReadingCriterionPage.PageName)) .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()) .ForMember(d => d.IsPublicPage, u => u.MapFrom(s => s.ReadingCriterionPage.IsPublicPage)); CreateMap() ; CreateMap(); CreateMap(); CreateMap() .ForMember(d => d.QuestionName, u => u.MapFrom(s => isEn_Us ? s.QuestionEnName : s.QuestionName)); CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()) .ForMember(d => d.DependShowOrder, u => u.MapFrom(s => s.DependParentQuestion.ShowOrder)); CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()) .ForMember(d => d.DependShowOrder, u => u.MapFrom(s => s.DependParentQuestion.ShowOrder)); CreateMap(); CreateMap(); CreateMap() .ForMember(d => d.QuestionId, u => u.MapFrom(s => s.Id)) .ForMember(d => d.QuestionName, u => u.MapFrom(s => isEn_Us ? s.QuestionEnName : s.QuestionName)); CreateMap() .ForMember(d => d.QuestionId, u => u.MapFrom(s => s.Id)) .ForMember(d => d.QuestionName, u => u.MapFrom(s => isEn_Us ? s.QuestionEnName : s.QuestionName)); CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()) .ForMember(d => d.DependShowOrder, u => u.MapFrom(s => s.DependParentQuestion.ShowOrder)) .ForMember(d => d.CreateUserRole, u => u.Ignore()); CreateMap().ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap().ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap().ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap() .ForMember(d => d.CreateUserRole, u => u.Ignore()); CreateMap() ; CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()) .ForMember(d => d.OriginalId, u => u.MapFrom(s => s.Id)); CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()) .ForMember(d => d.OriginalId, u => u.MapFrom(s => s.Id)); CreateMap() .ForMember(d => d.CreateUserRole, u => u.Ignore()) .ForMember(d => d.ReadingTableQuestionTrialList, u => u.Ignore()) .ForMember(d => d.ReadingQuestionSystemId, u => u.MapFrom(s => s.Id)); CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()) .ForMember(d => d.MergeName, u => u.MapFrom(s => s.MergeRow == null ? string.Empty : s.MergeRow.ReadingQuestionTrial.OrderMark + s.MergeRow.RowIndex.GetLesionMark())) .ForMember(d => d.SplitName, u => u.MapFrom(s => s.SplitRow == null ? string.Empty : s.SplitRow.ReadingQuestionTrial.OrderMark + s.SplitRow.RowIndex.GetLesionMark())) .ForMember(d => d.LesionType, u => u.MapFrom(s => s.ReadingQuestionTrial == null ? null : s.ReadingQuestionTrial.LesionType)); CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()) .ForMember(dest => dest.DependParentQuestion, opt => opt.Ignore()) .ForMember(d => d.OriginalId, u => u.MapFrom(s => s.Id)) .ForMember(d => d.SystemTableQuestionId, u => u.MapFrom(s => s.Id)); CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()) .ForMember(d => d.OriginalId, u => u.MapFrom(s => s.Id)); CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()) ; CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()) .ForMember(dest => dest.ReadingQuestionTrialList, opt => opt.Ignore()) .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()) .ForMember(d => d.ReadingQuestionCriterionSystemId, u => u.MapFrom(s => s.Id)); CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap() .ForMember(d => d.QuestionCount, u => u.MapFrom(s => s.ReadingQuestionSystemList.Count())); //.ForMember(d => d.IsEnable, u => u.MapFrom(s => s.Dictionary.IsEnable)) //.ForMember(d => d.ShowOrder, u => u.MapFrom(s => s.Dictionary.ShowOrder)); CreateMap(); CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap() .ForMember(d => d.GroupName, u => u.MapFrom(s => s.GroupInfo == null ? s.GroupName : s.GroupInfo.GroupName)) .ForMember(d => d.ParentQuestionName, u => u.MapFrom(s => s.ParentReadingQuestionSystem == null ? string.Empty : s.ParentReadingQuestionSystem.QuestionName)) .ForMember(d => d.ParentQuestionShowOrder, u => u.MapFrom(s => s.ParentReadingQuestionSystem.ShowOrder)) .ForMember(d => d.ParentDictionaryCode, u => u.MapFrom(s => s.ParentReadingQuestionSystem.DictionaryCode)) .ForMember(d => d.ParentQuestionGenre, u => u.MapFrom(s => s.ParentReadingQuestionSystem.QuestionGenre)) .ForMember(d => d.RelevanceShowOrder, u => u.MapFrom(s => s.RelevanceReadingQuestionSystem.ShowOrder)) .ForMember(d => d.RelevanceDictionaryCode, u => u.MapFrom(s => s.RelevanceReadingQuestionSystem.DictionaryCode)) .ForMember(d => d.RelevanceQuestionGenre, u => u.MapFrom(s => s.RelevanceReadingQuestionSystem.QuestionGenre)); CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap() .ForMember(d => d.QuestionCount, u => u.MapFrom(s => s.ReadingQuestionTrialList.Count())); CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap() .ForMember(d => d.GroupName, u => u.MapFrom(s => s.GroupInfo == null ? s.GroupName : s.GroupInfo.GroupName)) .ForMember(d => d.GroupEnName, u => u.MapFrom(s => s.GroupInfo == null ? s.GroupEnName : s.GroupInfo.GroupEnName)) .ForMember(d => d.ParentQuestionName, u => u.MapFrom(s => s.ParentReadingQuestionTrial == null ? string.Empty : s.ParentReadingQuestionTrial.QuestionName)) .ForMember(d => d.ParentQuestionShowOrder, u => u.MapFrom(s => s.ParentReadingQuestionTrial.ShowOrder)) .ForMember(d => d.ParentQuestionGenre, u => u.MapFrom(s => s.ParentReadingQuestionTrial.QuestionGenre)) .ForMember(d => d.ParentDictionaryCode, u => u.MapFrom(s => s.ParentReadingQuestionTrial.DictionaryCode)) .ForMember(d => d.RelevanceShowOrder, u => u.MapFrom(s => s.RelevanceReadingQuestionTrial.ShowOrder)) .ForMember(d => d.RelevanceDictionaryCode, u => u.MapFrom(s => s.RelevanceReadingQuestionTrial.DictionaryCode)) .ForMember(d => d.RelevanceQuestionGenre, u => u.MapFrom(s => s.RelevanceReadingQuestionTrial.QuestionGenre)); ; #endregion #region IR阅片 CreateMap() .ForMember(d => d.QuestionName, u => u.MapFrom(s => isEn_Us ? s.QuestionEnName : s.QuestionName)) .ForMember(x => x.Id, y => y.MapFrom(z => z.Id)); CreateMap(); //CreateMap() // .ForMember(x => x.VisitTaskId, y => y.MapFrom(z => z.Id)) // .ForMember(x => x.JudgeResultArm, y => y.MapFrom(z => (z.JudgeResultTask==null?null:z.JudgeResultTask.ArmEnum))); #endregion #region 医学审核 CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap() .ForMember(x => x.ParentShowOrder, y => y.MapFrom(n => n.ParentQuestion.ShowOrder)); CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap() .ForMember(x => x.ParentShowOrder, y => y.MapFrom(n => n.ParentQuestion.ShowOrder)); CreateMap(); CreateMap() .ForMember(x => x.TaskMedicalReviewId, y => y.MapFrom(n => n.Id)); CreateMap() //.ForMember(x => x.FileList, y => y.MapFrom(n => n.FileList)) .ForMember(x => x.CreateUserName, y => y.MapFrom(n => n.CreateUserRole.UserName)); #endregion #region 阅片部位 CreateMap(); CreateMap(); CreateMap().ReverseMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap(); #endregion #region 附加评估 //CreateMap() // .ForMember(d => d.TrialSiteCode, u => u.MapFrom(s => s.subject.TrialSite.TrialSiteCode)) // .ForMember(d => d.SubjectCode, u => u.MapFrom(s => s.subject.Code)) // .ForMember(d => d.SubjectStatus, u => u.MapFrom(s => s.subject.Status)); CreateMap().ReverseMap(); CreateMap().ReverseMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap().ReverseMap() .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap().ReverseMap(); CreateMap() .ForMember(o => o.UploadedTime, t => t.MapFrom(u => u.CreateTime)) .ForMember(o => o.Uploader, t => t.MapFrom(u => u.CreateUserRole.LastName + " / " + u.CreateUserRole.FirstName)) .ForMember(o => o.StudyId, t => t.MapFrom(u => u.Id)); CreateMap() .ForMember(o => o.VisitName, t => t.MapFrom(u => u.SourceSubjectVisit.VisitName)); #endregion } } }