public static TypeMap CreateTypeMap(ITypeMapConfiguration tmc, IUserDefinedConfiguration configuration) { List <PropertyMap> propertyMaps = tmc.DestinationType.GetWritableMembers() .Select(destination => CreatePropertyMap(tmc, configuration, destination)) .Where(propertyMap => propertyMap != null) .ToList(); return(new TypeMap(tmc.SourceType, tmc.DestinationType, propertyMaps)); }
private static PropertyMap CreatePropertyMap(ITypeMapConfiguration tmc, IUserDefinedConfiguration configuration, MemberInfo destination) { PropertyMap propertyMap = null; bool explicitPropertyMapFound = configuration.InheritedConfigurations(tmc) .OrderBy(x => x.SourceType, TypeHierarchyComparer.Instance) .ThenBy(x => x.DestinationType, TypeHierarchyComparer.Instance) .Any(itmc => MapPropertyMap(itmc, destination, out propertyMap)); if (explicitPropertyMapFound) { return(propertyMap); } ISourceMemberResolver resolver = CreateSourceMemberResolver(destination.Name, tmc.SourceType); if (resolver != null) { return(new PropertyMap(destination, resolver)); } return(null); }
public UserConfigurationMapper(IUserDefinedConfiguration userDefinedConfiguration) { this.userDefinedConfiguration = userDefinedConfiguration; }