public object Map(ResolutionContext context, IMappingEngineRunner mapper) { var destExpressArgType = context.DestinationType.GetSinglePredicateExpressionArgumentType(); var toSourceExpression = EquivilentExpressions.GetEquivilentExpression(context.SourceType, destExpressArgType) as IToSingleSourceEquivalentExpression; return(toSourceExpression.ToSingleSourceExpression(context.SourceValue)); }
public bool IsMatch(TypePair typePair) { var destExpressArgType = typePair.DestinationType.GetSinglePredicateExpressionArgumentType(); if (destExpressArgType == null) { return(false); } var expression = EquivilentExpressions.GetEquivilentExpression(typePair.SourceType, destExpressArgType); return(expression != null); }
public bool IsMatch(ResolutionContext context) { var destExpressArgType = context.DestinationType.GetSinglePredicateExpressionArgumentType(); if (destExpressArgType == null) { return(false); } var expression = EquivilentExpressions.GetEquivilentExpression(context.SourceType, destExpressArgType); return(expression is IToSingleSourceEquivalentExpression); }
public static Expression <Func <TDestination, bool> > Map <TSource, TDestination>(TSource source) { var toSourceExpression = EquivilentExpressions.GetEquivilentExpression(typeof(TSource), typeof(TDestination)) as IEquivilentExpression <TSource, TDestination>; return(toSourceExpression.ToSingleSourceExpression(source)); }
private static IEquivilentExpression GetEquivilentExpression(TypePair typePair) { return(EquivilentExpressions.GetEquivilentExpression(TypeHelper.GetElementType(typePair.SourceType), TypeHelper.GetElementType(typePair.DestinationType))); }
private static IEquivilentExpression GetEquivilentExpression(ResolutionContext context) { return(EquivilentExpressions.GetEquivilentExpression(TypeHelper.GetElementType(context.SourceType), TypeHelper.GetElementType(context.DestinationType))); }