using AutoMapper;
using IRaCIS.Core.Application.Contracts;
using IRaCIS.Core.Domain.Models;
using IRaCIS.Core.Domain.Share;
namespace IRaCIS.Core.Application.AutoMapper
{
///
/// 映射配置
///
public partial class SiteSurveyConfig : Profile
{
public SiteSurveyConfig()
{
//编辑
CreateMap().ReverseMap();
CreateMap().ReverseMap();
CreateMap().ReverseMap();
CreateMap().ForMember(d => d.Email, t => t.MapFrom(t => t.EmailOrPhone));
//列表
CreateMap()
.ForMember(t=>t.EquipmentType,u=>u.MapFrom(d=>d.EquipmentType.Value));
CreateMap()
.ForMember(d => d.TrialSiteAliasName, u => u.MapFrom(s => s.TrialSite.TrialSiteAliasName))
.ForMember(d => d.SiteName, u => u.MapFrom(s => s.Site.SiteName))
.ForMember(d => d.TrialSiteCode, u => u.MapFrom(s => s.TrialSite.TrialSiteCode));
var isEn_Us = false;
CreateMap()
.ForMember(t => t.TrialRoleName, u => u.MapFrom(d => isEn_Us? d.TrialRoleName.Value:d.TrialRoleName.ValueCN))
.ForMember(t => t.TrialRoleCode, u => u.MapFrom(d => d.TrialRoleName.Code))
.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();
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(t => t.TrialRoleName, u => u.MapFrom(d => d.TrialRoleName.Value))
.ForMember(d => d.UserType, u => u.MapFrom(s => s.UserTypeRole.UserTypeShortName))
.ForMember(d => d.UserTypeEnum, u => u.MapFrom(s => s.UserTypeRole.UserTypeEnum));
}
}
}