Exemplo n.º 1
0
        private static string CreateEntryDescription(BuilderConfigurationEntry entry, Type sourceType, Type targetType)
        {
            var sourceTypeName = sourceType.Name;
            var targetTypeName = targetType.Name;

            if (entry.MapType == MapType.MapAll)
            {
                return(string.Format("MapAll: {0}->{1}", sourceTypeName, targetTypeName));
            }
            if (entry.MapType == MapType.MapFunction)
            {
                return(string.Format("MappingFunction({0}, {1})", sourceTypeName, targetTypeName));
            }
            if (entry.MapType == MapType.MapIgnore)
            {
                var sourceTargetEntry = (BuilderConfigurationIgnoreEntry)entry;
                var targetMember      = MemberExpessionVisitor.GetMember(sourceTargetEntry.TargetExpression);
                var result            = string.Format("Ignored: -> {0}.{1}", targetTypeName, targetMember == null ? "?" : targetMember.Member.Name);
                return(result);
            }
            else
            {
                //Entry MUST be BuilderConfigurationSourceTargetExpressionEntry for any other MapTypes...
                var sourceTargetEntry = (BuilderConfigurationSourceTargetExpressionEntry)entry;
                var sourceMember      = MemberExpessionVisitor.GetMember(sourceTargetEntry.SourceExpression);
                var targetMember      = MemberExpessionVisitor.GetMember(sourceTargetEntry.TargetExpression);

                var result = string.Format("{0}.{1} -> {2}.{3}",
                                           sourceTypeName,
                                           sourceMember == null ? "?" : sourceMember.Member.Name,
                                           targetTypeName,
                                           targetMember == null ? "?" : targetMember.Member.Name
                                           );

                return(result);
            }
        }
Exemplo n.º 2
0
 void IInternalBuilder.AddEntry(BuilderConfigurationEntry entry)
 {
     //Copy NamedResolutions to the entry
     entry.NamedResolutions = new Dictionary <Type, string>(_namedResolutions);
     _builderEntries.Add(entry);
 }