Beispiel #1
0
            public void ResolveUsing(Type valueResolverType, string memberName)
            {
                var config = new ValueResolverConfiguration(valueResolverType, valueResolverType.GetGenericInterface(typeof(IMemberValueResolver <, , ,>)))
                {
                    SourceMemberName = memberName
                };

                PropertyMapActions.Add(pm => pm.ValueResolverConfig = config);
            }
Beispiel #2
0
            public void ResolveUsing <TSource, TDestination, TSourceMember, TDestMember>(IMemberValueResolver <TSource, TDestination, TSourceMember, TDestMember> resolver, string memberName)
            {
                var config = new ValueResolverConfiguration(resolver, typeof(IMemberValueResolver <TSource, TDestination, TSourceMember, TDestMember>))
                {
                    SourceMemberName = memberName
                };

                PropertyMapActions.Add(pm => pm.ValueResolverConfig = config);
            }
Beispiel #3
0
            public void ResolveUsing(Type valueResolverType, string memberName)
            {
                var config = new ValueResolverConfiguration(valueResolverType)
                {
                    SourceMemberName = memberName
                };

                PropertyMapActions.Add(pm => pm.ValueResolverConfig = config);
            }
        public void ResolveUsing <TSourceMember>(IMemberValueResolver <TSource, TDestination, TSourceMember, TMember> valueResolver, Expression <Func <TSource, TSourceMember> > sourceMember)
        {
            var config = new ValueResolverConfiguration(valueResolver, typeof(IMemberValueResolver <TSource, TDestination, TSourceMember, TMember>))
            {
                SourceMember = sourceMember
            };

            PropertyMapActions.Add(pm => pm.ValueResolverConfig = config);
        }
Beispiel #5
0
            private static void ConvertUsing(PropertyMap propertyMap, Type valueConverterType, string sourceMemberName = null)
            {
                var config = new ValueResolverConfiguration(valueConverterType, valueConverterType.GetGenericInterface(typeof(IValueConverter <,>)))
                {
                    SourceMemberName = sourceMemberName
                };

                propertyMap.ValueConverterConfig = config;
            }
Beispiel #6
0
        public void MapFrom <TValueResolver>()
            where TValueResolver : IValueResolver <TSource, TDestination, TMember>
        {
            var config = new ValueResolverConfiguration(
                typeof(TValueResolver),
                typeof(IValueResolver <TSource, TDestination, TMember>)
                );

            PropertyMapActions.Add(pm => pm.ValueResolverConfig = config);
        }
Beispiel #7
0
        public void ResolveUsing <TValueResolver, TSourceMember>(string sourceMemberName)
            where TValueResolver : IValueResolver <TSourceMember, TMember>
        {
            var config = new ValueResolverConfiguration(typeof(TValueResolver))
            {
                SourceMemberName = sourceMemberName
            };

            PropertyMapActions.Add(pm => pm.ValueResolverConfig = config);
        }
Beispiel #8
0
        public void MapFrom <TValueResolver, TSourceMember>(string sourceMemberName)
            where TValueResolver : IMemberValueResolver <TSource, TDestination, TSourceMember, TMember>
        {
            var config = new ValueResolverConfiguration(typeof(TValueResolver), typeof(IMemberValueResolver <TSource, TDestination, TSourceMember, TMember>))
            {
                SourceMemberName = sourceMemberName
            };

            PropertyMapActions.Add(pm => pm.ValueResolverConfig = config);
        }
Beispiel #9
0
            public void ResolveUsing(Type valueResolverType)
            {
                var config = new ValueResolverConfiguration(valueResolverType, valueResolverType.GetGenericInterface(typeof(IValueResolver <, ,>)));

                PropertyMapActions.Add(pm =>
                {
                    pm.Ignored             = false;
                    pm.ValueResolverConfig = config;
                });
            }
Beispiel #10
0
        public void MapFrom <TValueResolver, TSourceMember>(Expression <Func <TSource, TSourceMember> > sourceMember)
            where TValueResolver : IMemberValueResolver <TSource, TDestination, TSourceMember, TMember>
        {
            var config = new ValueResolverConfiguration(typeof(TValueResolver), typeof(IMemberValueResolver <TSource, TDestination, TSourceMember, TMember>))
            {
                SourceMember = sourceMember
            };

            PropertyMapActions.Add(pm => pm.ValueResolverConfig = config);
        }
Beispiel #11
0
        public void ResolveUsing <TValueResolver, TSourceMember>(Expression <Func <TSource, TSourceMember> > sourceMember)
            where TValueResolver : IValueResolver <TSourceMember, TMember>
        {
            var config = new ValueResolverConfiguration(typeof(TValueResolver))
            {
                SourceMember = sourceMember
            };

            PropertyMapActions.Add(pm => pm.ValueResolverConfig = config);
        }
Beispiel #12
0
        private static void ConvertUsing <TSourceMember>(PropertyMap propertyMap, IValueConverter <TSourceMember, TMember> valueConverter,
                                                         Expression <Func <TSource, TSourceMember> > sourceMember = null, string sourceMemberName = null)
        {
            var config = new ValueResolverConfiguration(valueConverter,
                                                        typeof(IValueConverter <TSourceMember, TMember>))
            {
                SourceMember     = sourceMember,
                SourceMemberName = sourceMemberName
            };

            propertyMap.ValueConverterConfig = config;
        }
Beispiel #13
0
            public void ConvertUsing <TSourceMember, TDestinationMember>(IValueConverter <TSourceMember, TDestinationMember> valueConverter, string sourceMemberName)
            {
                PropertyMapActions.Add(pm =>
                {
                    var config = new ValueResolverConfiguration(valueConverter, typeof(IValueConverter <TSourceMember, TDestinationMember>))
                    {
                        SourceMemberName = sourceMemberName
                    };

                    pm.ValueConverterConfig = config;
                });
            }
        private Expression BuildResolveCall(Expression destValueExpr, ValueResolverConfiguration valueResolverConfig)
        {
            var resolverInstance = valueResolverConfig.Instance != null?Constant(valueResolverConfig.Instance) : CreateInstance(valueResolverConfig.ConcreteType);

            var sourceMember = valueResolverConfig.SourceMember?.ReplaceParameters(_source) ??
                               (valueResolverConfig.SourceMemberName != null ?
                                PropertyOrField(_source, valueResolverConfig.SourceMemberName) :
                                null);

            var iResolverType = valueResolverConfig.InterfaceType;

            var parameters = new[] { _source, _destination, sourceMember, destValueExpr }.Where(p => p != null)
            .Zip(iResolverType.GetGenericArguments(), (e, type) => ToType(e, type))
            .Concat(new[] { _context });

            return(Call(ToType(resolverInstance, iResolverType), iResolverType.GetDeclaredMethod("Resolve"), parameters));
        }
Beispiel #15
0
        public void MapFrom(IValueResolver <TSource, TDestination, TMember> valueResolver)
        {
            var config = new ValueResolverConfiguration(valueResolver, typeof(IValueResolver <TSource, TDestination, TMember>));

            PropertyMapActions.Add(pm => pm.ValueResolverConfig = config);
        }
        public ResolutionExpression(ValueResolverConfiguration config)
        {
            _config = config;

            _propertyMapActions.Add(pm => pm.ValueResolverConfig = _config);
        }
            public void ResolveUsing(Type valueResolverType)
            {
                var config = new ValueResolverConfiguration(valueResolverType);

                PropertyMapActions.Add(pm => pm.ValueResolverConfig = config);
            }
Beispiel #18
0
        public void ResolveUsing(IValueResolver <TSource, TDestination, TMember> valueResolver)
        {
            var config = new ValueResolverConfiguration(valueResolver);

            PropertyMapActions.Add(pm => pm.ValueResolverConfig = config);
        }
Beispiel #19
0
            public void MapFrom(Type valueResolverType)
            {
                var config = new ValueResolverConfiguration(valueResolverType, valueResolverType.GetGenericInterface(typeof(IValueResolver <, ,>)));

                PropertyMapActions.Add(pm => pm.ValueResolverConfig = config);
            }