using AutoMapper;
using IRaCIS.Core.Application.Contracts;
namespace IRaCIS.Core.Application.AutoMapper
{
///
/// 映射配置
///
public partial class SiteSurveyConfig : Profile
{
public SiteSurveyConfig()
{
var isEn_Us = false;
//编辑
CreateMap().ReverseMap();
CreateMap().ReverseMap();
CreateMap().ReverseMap();
CreateMap().ForMember(d => d.Email, t => t.MapFrom(t => t.EmailOrPhone));
CreateMap()
.ForMember(d => d.Id, u => u.Ignore())
.ForMember(d => d.Phone, u => u.MapFrom(c => c.User.Phone))
.ForMember(d => d.Email, u => u.MapFrom(c => c.User.EMail))
.ForMember(d => d.OrganizationName, u => u.MapFrom(c => c.User.OrganizationName))
.ForMember(d => d.UserTypeId, u => u.MapFrom(c => c.User.UserTypeId))
.ForMember(d => d.IsHistoryUser, u => u.MapFrom(c => true))
.ForMember(d => d.IsHistoryUserOriginDeleted, u => u.MapFrom(c => c.IsDeleted))
.ForMember(d => d.IsHistoryUserDeleted, u => u.MapFrom(c => c.IsDeleted))
.ForMember(d => d.FirstName, u => u.MapFrom(c => c.User.FirstName))
.ForMember(d => d.LastName, u => u.MapFrom(c => c.User.LastName))
.ForMember(d => d.IsGenerateAccount, u => u.MapFrom(c => true))
.ForMember(d => d.IsGenerateSuccess, u => u.MapFrom(c => true))
.ForMember(d => d.SystemUserId, u => u.MapFrom(c => c.UserId))
.ForMember(d => d.IsJoin, u => u.MapFrom(c => !c.IsDeleted))
.ForMember(d => d.CreateUserRole, u => u.Ignore());
//列表
CreateMap()
.ForMember(t => t.EquipmentType, u => u.MapFrom(d => isEn_Us ? d.EquipmentType.Value : d.EquipmentType.ValueCN));
CreateMap()
.ForMember(d => d.TrialSiteAliasName, u => u.MapFrom(s => s.TrialSite.TrialSiteAliasName))
.ForMember(d => d.SiteName, u => u.MapFrom(s => s.TrialSite.TrialSiteName))
.ForMember(d => d.TrialSiteCode, u => u.MapFrom(s => s.TrialSite.TrialSiteCode));
CreateMap();
CreateMap()
.ForMember(d => d.UserType, u => u.MapFrom(s => s.UserTypeRole.UserTypeShortName))
.ForMember(d => d.UserTypeEnum, u => u.MapFrom(s => s.UserTypeRole.UserTypeEnum));
CreateMap()
.ForMember(d => d.Sponsor, u => u.MapFrom(s => s.Sponsor.SponsorName))
.ForMember(d => d.IndicationType, u => u.MapFrom(s => s.IndicationType.Value))
.ForMember(d => d.TrialSiteSelectList, u => u.MapFrom(s => s.TrialSiteList))
.ForMember(d => d.TrialId, u => u.MapFrom(s => s.Id));
CreateMap()
.ForMember(t => t.IsHaveSiteSurveyRecord, u => u.MapFrom(t => t.TrialSiteSurveyList.Any()));
CreateMap()
.ForMember(d => d.TrialSiteSurvey, u => u.MapFrom(s => s))
.ForMember(d => d.TrialInfo, u => u.MapFrom(s => s.Trial))
.ForMember(d => d.TrialSiteUserSurveyList, u => u.MapFrom(s => s.TrialSiteUserSurveyList));
CreateMap();
CreateMap()
.ForMember(d => d.EMail, u => u.MapFrom(s => s.Email));
CreateMap();
CreateMap().ForMember(d => d.RealName, u => u.MapFrom(s => s.LastName + " / " + s.FirstName));
CreateMap()
.ForMember(t => t.TrialSiteSurvey, u => u.MapFrom(c => c.TrialSiteSurvey))
.ForMember(d => d.UserType, u => u.MapFrom(s => s.UserTypeRole.UserTypeShortName))
.ForMember(d => d.UserTypeEnum, u => u.MapFrom(s => s.UserTypeRole.UserTypeEnum));
}
}
}