public void AssignCustomValueResolver(IValueResolver valueResolver) { _ignored = false; _customResolver = valueResolver; ResetSourceMemberChain(); _hasCustomValueResolver = true; }
public object ResolveItemFieldValue(object rawValue) { if (rawValue == null) { return(String.Empty); } var list = (IList)rawValue; if (list.Count == 0) { return(String.Empty); } Type argumentType = ResolverHelper.GetArgumentType(rawValue.GetType()); IValueResolver resolver = GetInnerResolver(argumentType); var sb = new StringBuilder(); foreach (object listItem in list) { sb.Append(resolver.ResolveItemFieldValue(listItem) + "|"); } return(sb.ToString().Substring(0, sb.Length - 1)); }
public RuleInvoker(IRule <R> rule, IValueResolver <T, R> valueToValidate, EquatableExpression originatingExpression, ICulpritResolver culpritResolver) { _rule = rule; _originatingExpression = originatingExpression; _valueToValidate = valueToValidate; _culpritResolver = culpritResolver; }
public static V Evaluate <V>(this ISymbolicExpression var, IValueResolver Resolver, IValueAggregator <V> aggregator) { var expansion = rolist(var.Expand()); var resolutions = array(expansion.Select(x => Resolver.ResolveValue <V>(x))); var aggregate = aggregator.Aggregate(resolutions); return(aggregate); }
public void ResolveUsing <TSource, TSourceMember>(IValueResolver <TSource, TSourceMember> resolver, string memberName) { var config = new ValueResolverConfiguration(resolver) { SourceMemberName = memberName }; PropertyMapActions.Add(pm => pm.ValueResolverConfig = config); }
public void ResolveUsing <TSourceMember>(IValueResolver <TSourceMember, TMember> valueResolver, Expression <Func <TSource, TSourceMember> > sourceMember) { var config = new ValueResolverConfiguration(valueResolver) { SourceMember = sourceMember }; PropertyMapActions.Add(pm => pm.ValueResolverConfig = config); }
public void MapFrom(IValueResolver <TSource, TDestination, TMember> valueResolver) { var config = new ValueResolverConfiguration( valueResolver, typeof(IValueResolver <TSource, TDestination, TMember>) ); PropertyMapActions.Add(pm => pm.ValueResolverConfig = config); }
protected IValueResolver GetInnerResolver(Type typeToResolve) { IValueResolver resolver = m_resolvers.FirstOrDefault(res => !(res is DefaultValueResolver || res is ValuesListResolver) && res.CanResolve(typeToResolve)); if (resolver == null) { throw new InvalidOperationException(String.Format("Cannon find resolver for {0} and cannot process the list", typeToResolve)); } return(resolver); }
protected override void Initialize() { if (ValueResolver == null) { ValueResolver = ValueResolverUtility.GetResolver <double>() .TryMemberReference() .TryExpression(); } var context = ValueResolverUtility.CreateContext(this); this.maxValueGetter = ValueResolver.Resolve(context, this.Attribute.Expression, this.Attribute.MaxValue); }
public override void Initialize(MemberInfo member, Type memberValueType) { if (ValueResolver == null) { ValueResolver = ValueResolverUtility.GetResolver <double>() .TryMemberReference() .TryExpression(); } var context = ValueResolverUtility.CreateContext(this, member); context.AddExpressionParameter <T>("value", () => this.valueExpressionArgument); this.maxValueGetter = ValueResolver.Resolve(context, this.Attribute.Expression, context.Validator.Attribute.MaxValue); }
public FieldScope( ITypeTranslator typeTranslator, IValueResolver valueResolver, IFieldCollector fieldCollector, GraphQLObjectType type, object parent) { this.type = type; this.parent = parent; this.arguments = new List <GraphQLArgument>(); this.fieldCollector = fieldCollector; this.typeTranslator = typeTranslator; this.valueResolver = valueResolver; }
public ExpressionResolutionResult GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap, IValueResolver valueResolver) { Expression currentChild = expressionResolutionResult.ResolutionExpression; Type currentChildType; var getter = (IMemberGetter)valueResolver; var memberInfo = getter.MemberInfo; var propertyInfo = memberInfo as PropertyInfo; if (propertyInfo != null) { currentChild = Expression.Property(currentChild, propertyInfo); currentChildType = propertyInfo.PropertyType; } else currentChildType = currentChild.Type; return new ExpressionResolutionResult(currentChild, currentChildType); }
public override void Initialize(MemberInfo member, Type memberValueType) { if (ValueResolver == null) { ValueResolver = ValueResolverUtility.GetResolver <double>() .TryMemberReference() .TryExpression(); RangeResolver = ValueResolverUtility.GetValidatorResolver <MinMaxSliderValidator <T>, Vector2>() .TryMemberReference() .TryExpression() .Func(c => new Vector2((float)c.Validator.minValueGetter.GetValue(), (float)c.Validator.maxValueGetter.GetValue())); } var context = ValueResolverUtility.CreateContext(this, member); context.AddExpressionParameter <T>("value", () => this.valueExpressionArgument); this.minValueGetter = ValueResolver.Resolve(context, this.Attribute.MinMember, context.Validator.Attribute.MinValue); this.maxValueGetter = ValueResolver.Resolve(context, this.Attribute.MaxMember, context.Validator.Attribute.MaxValue); this.rangeGetter = RangeResolver.Resolve(context, this.Attribute.MinMaxMember); }
private static ExpressionResolutionResult ExpressionResolutionResult( ExpressionResolutionResult expressionResolutionResult, IValueResolver valueResolver) { Expression currentChild = expressionResolutionResult.ResolutionExpression; Type currentChildType; var getter = (IMemberGetter)valueResolver; var memberInfo = getter.MemberInfo; var propertyInfo = memberInfo as PropertyInfo; if (propertyInfo != null) { currentChild = Expression.Property(currentChild, propertyInfo); currentChildType = propertyInfo.PropertyType; } else { currentChildType = currentChild.Type; } return(new ExpressionResolutionResult(currentChild, currentChildType)); }
public object ResolveEntityPropertyValue(string rawValue, Type propertyType) { IList list = CreateList(propertyType); if (string.IsNullOrEmpty(rawValue)) { return(list); } var delimiter = new [] { SitecoreDataAccess.Settings.ValueDelimiter }; string[] items = rawValue.Split(delimiter, StringSplitOptions.RemoveEmptyEntries); Type listArgumentType = ResolverHelper.GetArgumentType(propertyType); IValueResolver resolver = GetInnerResolver(listArgumentType); foreach (string item in items) { list.Add(resolver.ResolveEntityPropertyValue(item, listArgumentType)); } return(list); }
public ConstructorParameterMap(ParameterInfo parameter, IValueResolver[] sourceResolvers, bool canResolve) { Parameter = parameter; SourceResolvers = sourceResolvers; CanResolve = canResolve; }
public UseValueResolverAttribute(Type valueResolver) { ValueResolver = valueResolver.GetConstructors()[0].Invoke(new object[] { }) as IValueResolver <object, object, object>; }
public bool CanGetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, IValueResolver valueResolver) { return valueResolver is IMemberGetter; }
public bool CanGetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, IValueResolver valueResolver) { return(valueResolver is NullReplacementMethod && expressionResolutionResult.Type.IsNullableType()); }
public ExpressionResolutionResult GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap, IValueResolver valueResolver) { Expression currentChild = expressionResolutionResult.ResolutionExpression; Type currentChildType = expressionResolutionResult.Type; var nullSubstitute = propertyMap.NullSubstitute; var newParameter = expressionResolutionResult.ResolutionExpression; var converter = new NullSubstitutionConversionVisitor(newParameter, nullSubstitute); currentChild = converter.Visit(currentChild); currentChildType = currentChildType.GetTypeOfNullable(); return(new ExpressionResolutionResult(currentChild, currentChildType)); }
public bool CanGetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, IValueResolver valueResolver) { return valueResolver is NullReplacementMethod && expressionResolutionResult.Type.IsNullableType(); }
public static void ConfigureAutomapper(IValueResolver tagResolver) { Mapper.CreateMap<Post, PostViewModel>(); Mapper.CreateMap<PostViewModel, Post>().ForMember(p => p.Tags, opt => opt.ResolveUsing(tagResolver)); }
public ExpressionResolutionResult GetExpressionResolutionResult( ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap, IValueResolver valueResolver) { var oldParameter = propertyMap.CustomExpression.Parameters.Single(); var newParameter = expressionResolutionResult.ResolutionExpression; var converter = new ParameterConversionVisitor(newParameter, oldParameter); Expression currentChild = converter.Visit(propertyMap.CustomExpression.Body); Type currentChildType = currentChild.Type; return(new ExpressionResolutionResult(currentChild, currentChildType)); }
public ExpressionResolutionResult GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, ConstructorParameterMap propertyMap, IValueResolver valueResolver) { throw new NotImplementedException(); }
public ExpressionResolutionResult GetExpressionResolutionResult( ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap, IValueResolver valueResolver) { return(ExpressionResolutionResult(expressionResolutionResult, propertyMap.CustomExpression)); }
public bool CanGetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, IValueResolver valueResolver) { return(valueResolver is IMemberResolver); }
public ExpressionResolutionResult GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, ConstructorParameterMap propertyMap, IValueResolver valueResolver) { return(ExpressionResolutionResult(expressionResolutionResult, null)); }
public static void AddValueResolver(IValueResolver valueResolver) { m_resolvers.Insert(0, valueResolver); }
public FieldCollector(Dictionary <string, GraphQLFragmentDefinition> fragments, IValueResolver valueResolver) { this.fragments = fragments; this.valueResolver = valueResolver; }
public void ResolveUsing(IValueResolver <TSource, TDestination, TMember> valueResolver) { var config = new ValueResolverConfiguration(valueResolver); PropertyMapActions.Add(pm => pm.ValueResolverConfig = config); }
public IResolutionExpression ResolveUsing(IValueResolver valueResolver) { _propertyMap.AssignCustomValueResolver(valueResolver); return(new ResolutionExpression(_typeMap.SourceType, _propertyMap)); }
public ExpressionResolutionResult GetExpressionResolutionResult( ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap, IValueResolver valueResolver) { return ExpressionResolutionResult(expressionResolutionResult, propertyMap.CustomExpression); }
public IResolutionExpression<TSource> ResolveUsing(IValueResolver valueResolver) { _propertyMap.AssignCustomValueResolver(valueResolver); return new ResolutionExpression<TSource>(_propertyMap); }
public void ChainConstructorForResolver(IValueResolver valueResolver) { _customResolver = valueResolver; }
public ExpressionResolutionResult GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, ConstructorParameterMap propertyMap, IValueResolver valueResolver) { return ExpressionResolutionResult(expressionResolutionResult, null); }
public void ChainTypeMemberForResolver(IValueResolver valueResolver) { ResetSourceMemberChain(); _customMemberResolver = valueResolver; }
public void ChainResolver(IValueResolver IValueResolver) { _sourceValueResolvers.AddLast(IValueResolver); }
public MappingAction(ICondition executionClause, IValueResolver valueResolver) { ExecutionClause = executionClause; ValueResolver = valueResolver; }
public ExpressionResolutionResult GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap, IValueResolver valueResolver) { var oldParameter = propertyMap.CustomExpression.Parameters.Single(); var newParameter = expressionResolutionResult.ResolutionExpression; var converter = new ParameterConversionVisitor(newParameter, oldParameter); Expression currentChild = converter.Visit(propertyMap.CustomExpression.Body); Type currentChildType = currentChild.Type; return new ExpressionResolutionResult(currentChild, currentChildType); }
public ExpressionResolutionResult GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap, IValueResolver valueResolver) { Expression currentChild = expressionResolutionResult.ResolutionExpression; Type currentChildType = expressionResolutionResult.Type; var nullSubstitute = propertyMap.NullSubstitute; var newParameter = expressionResolutionResult.ResolutionExpression; var converter = new NullSubstitutionConversionVisitor(newParameter, nullSubstitute); currentChild = converter.Visit(currentChild); currentChildType = currentChildType.GetTypeOfNullable(); return new ExpressionResolutionResult(currentChild, currentChildType); }