Пример #1
0
        public Wayless(ISetRuleBuilder <TDestination, TSource> setRuleBuilder)
        {
            if (setRuleBuilder.ExpressionBuilder == null)
            {
                throw new NullReferenceException("SetRuleBuilder.ExpressionBuilder");
            }

            if (!setRuleBuilder.IsFinalized)
            {
                setRuleBuilder.FinalizeRules();
            }

            _map = CompileMap(setRuleBuilder);
        }
Пример #2
0
        public static ISetRuleBuilder <TDestination, TSource> UseJsonMappingMatchMaker <TDestination, TSource>(this ISetRuleBuilder <TDestination, TSource> setRuleBuilder, string path)
            where TDestination : class
            where TSource : class
        {
            setRuleBuilder.AutoMatchMembers = true;
            setRuleBuilder.MatchMaker       = new JsonFileMatchMaker(path);

            return(setRuleBuilder);
        }
Пример #3
0
        public static ISetRuleBuilder <TDestination, TSource> OmitMatchMaker <TDestination, TSource>(this ISetRuleBuilder <TDestination, TSource> setRuleBuilder)
            where TDestination : class
            where TSource : class
        {
            setRuleBuilder.AutoMatchMembers = false;

            return(setRuleBuilder);
        }
Пример #4
0
        public static ISetRuleBuilder <TDestination, TSource> UseDefaultMatchMaker <TDestination, TSource>(this ISetRuleBuilder <TDestination, TSource> setRuleBuilder)
            where TDestination : class
            where TSource : class
        {
            setRuleBuilder.AutoMatchMembers = true;
            setRuleBuilder.MatchMaker       = new MatchMaker();

            return(setRuleBuilder);
        }
Пример #5
0
        public static ISetRuleBuilder <TDestination, TSource> UseDefaultExpressionBuilder <TDestination, TSource>(this ISetRuleBuilder <TDestination, TSource> setRuleBuilder)
            where TDestination : class
            where TSource : class
        {
            setRuleBuilder.ExpressionBuilder = new ExpressionBuilder(typeof(TDestination), typeof(TSource));

            return(setRuleBuilder);
        }
Пример #6
0
        public static ISetRuleBuilder <TDestination, TSource> UseDefaults <TDestination, TSource>(this ISetRuleBuilder <TDestination, TSource> setRuleBuilder)
            where TDestination : class
            where TSource : class
        {
            setRuleBuilder.UseDefaultExpressionBuilder()
            .UseDefaultMatchMaker();

            return(setRuleBuilder);
        }
Пример #7
0
 private static Action <TDestination, TSource> CompileMap(ISetRuleBuilder <TDestination, TSource> setRuleBuilder)
 {
     return(setRuleBuilder.ExpressionBuilder.CompileExpressionMap <TDestination, TSource>(setRuleBuilder.FieldExpressions.Values));
 }