Ejemplo n.º 1
0
        private void ProcessField(Instruction instruction, Func <BfField, MethodCollection> methods)
        {
            var reference = instruction.Operand as FieldReference;
            var field     = _cache.GetBfField(instruction.Operand as FieldReference);

            if (field != null)
            {
                FieldSets.Add(field);
                methods.Invoke(field).Add(this);
                _typesUsed.Add(field.Type);
                if (reference != null)
                {
                    _typesUsed.AddRange(_cache.GetTypeCollection(reference.FieldType));
                }
            }
        }
Ejemplo n.º 2
0
        private string GetFieldSet(XPathNavigator parentNode, EntityMapping entityMapping)
        {
            FieldSets fieldSets = entityMapping.FieldSets;

            if (fieldSets == null)
            {
                return(null);
            }

            string fieldSetValue = parentNode
                                   .Evaluate(fieldSets.XPath, _namespaceResolver)?
                                   .ToString();

            if (fieldSetValue == null)
            {
                return(null);
            }

            return(fieldSets.FieldSet
                   .FirstOrDefault(fs => fs.Value == fieldSetValue)?
                   .FieldSetName);
        }