using AutoMapper; using AutoMapper.EquivalencyExpression; using IRaCIS.Application.Contracts; using IRaCIS.Core.Application.Contracts; using IRaCIS.Core.Application.Service.DTO; using IRaCIS.Core.Application.ViewModel; using IRaCIS.Core.Infrastructure.Extention; namespace IRaCIS.Core.Application.Service { public class DocumentConfig : Profile { public DocumentConfig() { var userId = Guid.Empty; var isEn_Us = false; // 在此处拷贝automapper 映射 CreateMap(); CreateMap().ReverseMap(); CreateMap(); CreateMap().ReverseMap(); CreateMap(); //CreateMap, List>(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap().ReverseMap(); CreateMap() .ForMember(d => d.AttachmentCount, u => u.MapFrom(s => s.SystemDocumentAttachmentList.Count())) .ForMember(d => d.FileType, u => u.MapFrom(s => isEn_Us ? s.FileType.Value : s.FileType.ValueCN)) .ForMember(d => d.FullFilePath, u => u.MapFrom(s => s.Path)); CreateMap() .ForMember(d => d.SysFileTypeId, u => u.MapFrom(s => s.Id)) .ForMember(d => d.IsSelfDefine, u => u.MapFrom(s => false)) .ForMember(dest => dest.CreateUserRole, opt => opt.Ignore()); CreateMap() .ForMember(d => d.AttachmentCount, u => u.MapFrom(s =>s.TrialDocumentAttachmentList.Count())) .ForMember(d => d.FileType, u => u.MapFrom(s => isEn_Us ? s.FileType.Value : s.FileType.ValueCN)) .ForMember(d => d.IsSomeUserSigned, u => u.MapFrom(s => s.TrialDocConfirmedUserList.Any(t => t.ConfirmTime != null))) .ForMember(d => d.FullFilePath, u => u.MapFrom(s => s.Path)); CreateMap() .ForMember(d => d.IsSystemDoc, u => u.MapFrom(s => true)) .ForMember(d => d.FullFilePath, u => u.MapFrom(s => s.Path)); CreateMap() .ForMember(d => d.IsSystemDoc, u => u.MapFrom(s => false)) .ForMember(d => d.FullFilePath, u => u.MapFrom(s => s.Path)); CreateMap().ForMember(d => d.UserTypeShortName, t => t.MapFrom(c => c.UserTypeRole.UserTypeShortName)); CreateMap().ForMember(d => d.UserTypeShortName, t => t.MapFrom(c => c.UserTypeRole.UserTypeShortName)); //CreateMap() // .ForMember(t => t.UserConfirmInfo, c => c.MapFrom(t => t.TrialDocConfirmedUserList.Where(u => u.ConfirmUserId == userId).FirstOrDefault())) // .ForMember(d => d.FullFilePath, u => u.MapFrom(s => s.Path + "?access_token=" + token)); ; CreateMap() .ForMember(d => d.UserName, c => c.MapFrom(t => t.User.UserName)) .ForMember(d => d.RealName, c => c.MapFrom(t => t.User.FullName)); //CreateMap() // .ForMember(d => d.UserName, c => c.MapFrom(t => t.User.UserName)) // .ForMember(d => d.RealName, c => c.MapFrom(t => t.User.LastName + " / " + t.User.FirstName)); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap (); CreateMap() .ForMember(d => d.NeedConfirmedUserTypeList, c => c.MapFrom(t => t.NeedConfirmedUserTypeIdList)); CreateMap().EqualityComparison((odto, o) => odto == o.NeedConfirmUserTypeId) .ForMember(d => d.NeedConfirmUserTypeId, c => c.MapFrom(t => t)) .ForMember(d => d.TrialDocumentId, c => c.Ignore()); CreateMap().ForMember(d => d.NeedConfirmedUserTypeList, c => c.MapFrom(t => t.NeedConfirmedUserTypeIdList)); CreateMap().EqualityComparison((odto, o) => odto == o.NeedConfirmUserTypeId) .ForMember(d => d.NeedConfirmUserTypeId, c => c.MapFrom(t => t)) .ForMember(d => d.SystemDocumentId, c => c.Ignore()); CreateMap() .ForMember(d => d.TrialCriterionName, c => c.MapFrom(t => t.TrialReadingCriterion.CriterionName)) .ForMember(d => d.TrialEmailNoticeUserList, c => c.MapFrom(t => t.TrialEmailNoticeUserList)); CreateMap(); CreateMap() .ForMember(d => d.Phone, c => c.MapFrom(t => t.UserRole.IdentityUser.Phone)) .ForMember(d => d.Email, c => c.MapFrom(t => t.UserRole.IdentityUser.EMail)) .ForMember(d => d.RealName, c => c.MapFrom(t => t.UserRole.IdentityUser.FullName)) .ForMember(d => d.UserName, c => c.MapFrom(t => t.UserRole.IdentityUser.UserName)); CreateMap(); CreateMap(); CreateMap().ReverseMap(); CreateMap(); CreateMap().ReverseMap(); CreateMap() .ForMember(d => d.HistoryCount, c => c.MapFrom(t => t.TrialHistoryRecordFileList.Count)); CreateMap(); //.ForMember(d => d.HistoryFileRecord.TrialFileTypeId, c => c.MapFrom(t => t.TrialFileTypeId)) //.ForMember(d => d.SignFileRecord.TrialFileTypeId, c => c.MapFrom(t => t.TrialFileTypeId)) //.ForMember(d => d.WordFileRecord.TrialFileTypeId, c => c.MapFrom(t => t.TrialFileTypeId)) //.ForMember(d => d.PDFFileRecord.TrialFileTypeId, c => c.MapFrom(t => t.TrialFileTypeId)); CreateMap() .ForMember(d => d.HistoryCount, c => c.MapFrom(t => t.TrialHistoryRecordFileList.Count)) .ForMember(d => d.FileName, c => c.MapFrom(t => t.TrialFileRecord.FileName)); CreateMap().ReverseMap(); CreateMap() .ForMember(d => d.HistoryCount, c => c.MapFrom(t => t.TrialHistoryRecordFileList.Count)) .ForMember(d => d.FileName, c => c.MapFrom(t => t.TrialFileRecord.FileName)); CreateMap().ReverseMap(); CreateMap(); CreateMap().ReverseMap(); } } }