using AutoMapper;
using NPlatform.AutoMap;
using BZPT.Domains.Entity;
using BZPT.Dto.VO;
using NPlatform.Result;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Reflection;
namespace BZPT.Domains
{
public class AutoMapperProfile : Profile, IProfile
{
///
/// 配置可以互转的类
///
public AutoMapperProfile()
{
////用户到VO对象的映射
//CreateMap()
// .ForMember(dst=>dst.Organization,src=>src.MapFrom(z=>z.Organization.Name))// 指定某个的属性从另一个对象的子属性获取(展平对象)
// .ForMember(dst => dst.RoleName, //目标字段
// src => src.MapFrom(z => GetRoleName(z.Roles))) //来源字段
// .ReverseMap();
//CreateMap().ReverseMap();
//CreateMap()
// .ForMember(dst=>dst.Parents,src=>src.MapFrom(z=>z.Parents.Split(",", StringSplitOptions.RemoveEmptyEntries)))
// .ReverseMap();
//CreateMap().ReverseMap();
//CreateMap().ReverseMap();
}
//public string GetRoleName(List roles) {
// StringBuilder strRole = new StringBuilder();
// foreach (Role role in roles) {
// strRole.Append(role.Name);
// strRole.Append(",");
// }
// return strRole.ToString();
//}
///
/// 字符串转时间类型
///
public class DateTimeTypeConverter : ITypeConverter
{
public DateTime Convert(string source, DateTime destination, ResolutionContext context)
{
return System.Convert.ToDateTime(source);
}
}
///
/// 字符串转Type类型
///
public class TypeTypeConverter : ITypeConverter
{
public Type Convert(string source, Type destination, ResolutionContext context)
{
return Assembly.GetEntryAssembly().GetType(source);
}
}
}
}