public static PropertyMap GetPropertyMap(this IConfigurationProvider config, MemberInfo sourceMemberInfo, Type destinationMemberType) { var typeMap = config.CheckIfMapExists(sourceMemberInfo.DeclaringType, destinationMemberType); var propertyMap = typeMap.PropertyMaps .FirstOrDefault(pm => pm.CanResolveValue && pm.SourceMember != null && pm.SourceMember.Name == sourceMemberInfo.Name); if (propertyMap == null) { throw PropertyConfigurationException(typeMap, sourceMemberInfo.Name); } return(propertyMap); }
public static PropertyMap GetPropertyMap(this IConfigurationProvider config, MemberInfo sourceMemberInfo, Type destinationMemberType) { var typeMap = config.CheckIfMapExists(sourceMemberInfo.DeclaringType, destinationMemberType); var propertyMap = typeMap.GetPropertyMaps() .FirstOrDefault(pm => pm.CanResolveValue() && pm.SourceMember != null && pm.SourceMember.Name == sourceMemberInfo.Name); if (propertyMap == null) { var message = $"Missing property map from {sourceMemberInfo.DeclaringType.Name} to {destinationMemberType.Name} for {sourceMemberInfo.Name} property. Create using Mapper.CreateMap<{sourceMemberInfo.DeclaringType.Name}, {destinationMemberType.Name}>."; throw new InvalidOperationException(message); } return(propertyMap); }