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); } } } }