private string LookupFieldName(
            ITypeRegistry typeRegistry,
            FieldMember fieldResolverMember)
        {
            MemberInfo member = fieldResolverMember.Member;

            foreach (ResolverCollectionBindingInfo resolverBinding in
                     _resolverBindings[fieldResolverMember.TypeName])
            {
                FieldResolverBindungInfo fieldBinding = resolverBinding.Fields
                                                        .FirstOrDefault(t => t.FieldMember == member);
                if (fieldBinding != null)
                {
                    return(fieldBinding.FieldName);
                }
            }

            if (typeRegistry.TryGetTypeBinding(
                    fieldResolverMember.TypeName,
                    out ObjectTypeBinding binding))
            {
                FieldBinding fieldBinding = binding.Fields.Values
                                            .FirstOrDefault(t => t.Member == member);
                if (fieldBinding != null)
                {
                    return(fieldBinding.Name);
                }
            }

            return(fieldResolverMember.FieldName);
        }
Ejemplo n.º 2
0
 internal BindFieldResolver(
     ResolverCollectionBindingInfo bindingInfo,
     FieldResolverBindungInfo fieldBindingInfo)
 {
     _bindingInfo = bindingInfo
                    ?? throw new ArgumentNullException(nameof(bindingInfo));
     _fieldBindingInfo = fieldBindingInfo
                         ?? throw new ArgumentNullException(nameof(fieldBindingInfo));
 }
Ejemplo n.º 3
0
        public IBindFieldResolver <TResolver> Resolve(NameString fieldName)
        {
            var bindingInfo = new FieldResolverBindungInfo
            {
                FieldName = fieldName.EnsureNotEmpty(nameof(fieldName))
            };

            _bindingInfo.Fields.Add(bindingInfo);

            return(new BindFieldResolver <TResolver>(_bindingInfo, bindingInfo));
        }
Ejemplo n.º 4
0
        public IBindFieldResolver <TResolver> Resolve(NameString fieldName)
        {
            FieldResolverBindungInfo fieldBindingInfo =
                new FieldResolverBindungInfo
            {
                FieldName = fieldName
            };

            _bindingInfo.Fields.Add(fieldBindingInfo);
            return(new BindFieldResolver <TResolver>(
                       _bindingInfo, fieldBindingInfo));
        }
Ejemplo n.º 5
0
        public IBindFieldResolver <TResolver> Resolve(string fieldName)
        {
            if (string.IsNullOrEmpty(fieldName))
            {
                throw new ArgumentNullException(nameof(fieldName));
            }

            FieldResolverBindungInfo fieldBindingInfo =
                new FieldResolverBindungInfo
            {
                FieldName = fieldName
            };

            _bindingInfo.Fields.Add(fieldBindingInfo);
            return(new BindFieldResolver <TResolver>(
                       _bindingInfo, fieldBindingInfo));
        }