using AutoMapper;
using CapMachine.Model;
using CapMachine.Wpf.Models;
namespace CapMachine.Wpf.MapperProfile
{
///
/// 源类的属性名称和目标类的属性名称相同(不区分大小写),直接匹配,Mapper.CreateMap();无需做其他处理,此处不再细述
/// 1,智能匹配
/// AutoMapper能够自动识别和匹配大部分对象属性:
/// 如果源类和目标类的属性名称相同,直接匹配,不区分大小写
/// 目标类型的CustomerName可以匹配源类型的Customer.Name
/// 目标类型的Total可以匹配源类型的GetTotal() 方法
///
public class ChartSelectProfile : Profile
{
public ChartSelectProfile()
{
CreateMap()
.ForMember(dest => dest.Index, opt => opt.MapFrom(src => src.Index))
.ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.Name))
//.ForMember(dest => dest.Id, opt => opt.Ignore())//忽略目标类中的属性
//.ForMember(dest => dest.OrderDate, opt => opt.UserValue(DateTime.Now)); //固定值匹配
//.ForMember(dest => dest.TotalAmount, opt => opt.MapFrom(src => src.TotalAmount ?? 0)) //复杂的匹配
//.ForMember(dest => dest.EventDate, opt => opt.MapFrom(src => src.WorkEvent.Date)) //属性匹配,匹配源类中WorkEvent.Date到EventDate
.ForMember(dest => dest.YAxis, opt => opt.MapFrom(src => src.ConfigChartYAxis))//
.ReverseMap();
}
}
}