public override bool GetInheritanceDiscriminator(TypeExtension typeExtension, MemberAccessor member, out bool isSet)
        {
            MapFieldAttribute a = member.GetAttribute <MapFieldAttribute>();

            if (a != null)
            {
                isSet = true;
                return(a.IsInheritanceDiscriminator);
            }

            foreach (MapFieldAttribute attr in GetMapFieldAttributes(member.TypeAccessor))
            {
                if (string.Equals(attr.OrigName, member.Name, StringComparison.InvariantCultureIgnoreCase))
                {
                    isSet = true;
                    return(attr.IsInheritanceDiscriminator);
                }
            }

            return(base.GetInheritanceDiscriminator(typeExtension, member, out isSet));
        }
        public override string GetFieldName(TypeExtension typeExtension, MemberAccessor member, out bool isSet)
        {
            MapFieldAttribute a = member.GetAttribute <MapFieldAttribute>();

            if (a != null && a.MapName != null)
            {
                isSet = true;
                return(a.MapName);
            }

            foreach (MapFieldAttribute attr in GetMapFieldAttributes(member.TypeAccessor))
            {
                if (attr.MapName != null && string.Equals(attr.OrigName, member.Name, StringComparison.InvariantCultureIgnoreCase))
                {
                    isSet = true;
                    return(attr.MapName);
                }
            }

            return(base.GetFieldName(typeExtension, member, out isSet));
        }
Exemple #3
0
        public override MapFieldAttribute GetMapField(TypeExtension typeExtension, MemberAccessor member, out bool isSet)
        {
            var extList = typeExtension[member.Name]["MapField"];

            if (extList != AttributeExtensionCollection.Null)
            {
                isSet = true;
                var attr = new MapFieldAttribute();

                var extFormat  = extList.FirstOrDefault(x => x.Name == "Format");
                var extMapName = extList.FirstOrDefault(x => x.Name == "MapName");
                var extIsInheritanceDiscriminator = extList.FirstOrDefault(x => x.Name == "IsInheritanceDiscriminator");
                var extOrigName = extList.FirstOrDefault(x => x.Name == "OrigName");
                var extStorage  = extList.FirstOrDefault(x => x.Name == "Storage");

                if (extFormat != null)
                {
                    attr.Format = (string)extFormat.Value;
                }
                if (extMapName != null)
                {
                    attr.MapName = (string)extMapName.Value;
                }
                if (extFormat != null)
                {
                    attr.IsInheritanceDiscriminator = Convert.ToBoolean(extIsInheritanceDiscriminator.Value);
                }
                if (extFormat != null)
                {
                    attr.OrigName = (string)extOrigName.Value;
                }
                if (extFormat != null)
                {
                    attr.Storage = (string)extStorage.Value;
                }
                return(attr);
            }

            return(base.GetMapField(typeExtension, member, out isSet));
        }
Exemple #4
0
        public override string GetFieldName(ObjectMapper mapper, MemberAccessor member, out bool isSet)
        {
            MapFieldAttribute a = member.GetAttribute <MapFieldAttribute>();

            if (a != null)
            {
                isSet = true;
                return(a.MapName);
            }

            string name = member.Name.ToLower();

            foreach (MapFieldAttribute attr in GetMapFieldAttributes(mapper))
            {
                if (attr.OrigName.ToLower() == name)
                {
                    isSet = true;
                    return(attr.MapName);
                }
            }

            return(base.GetFieldName(mapper, member, out isSet));
        }
        public override MapFieldAttribute GetMapField(TypeExtension typeExtension, MemberAccessor member, out bool isSet)
        {
            var extList = typeExtension[member.Name]["MapField"];

            if (extList != AttributeExtensionCollection.Null)
            {
                isSet = true;
                var attr = new MapFieldAttribute();

                var extFormat = extList.FirstOrDefault(x => x.Name == "Format");
                var extMapName = extList.FirstOrDefault(x => x.Name == "MapName");
                var extIsInheritanceDiscriminator = extList.FirstOrDefault(x => x.Name == "IsInheritanceDiscriminator");
                var extOrigName = extList.FirstOrDefault(x => x.Name == "OrigName");
                var extStorage = extList.FirstOrDefault(x => x.Name == "Storage");

                if (extFormat != null) 
                    attr.Format = (string)extFormat.Value;
                if (extMapName != null) 
                    attr.MapName = (string)extMapName.Value;
                if (extFormat != null) 
                    attr.IsInheritanceDiscriminator = Convert.ToBoolean(extIsInheritanceDiscriminator.Value);
                if (extFormat != null) 
                    attr.OrigName = (string)extOrigName.Value;
                if (extFormat != null) 
                    attr.Storage = (string)extStorage.Value;
                return attr;
            }

            return base.GetMapField(typeExtension, member, out isSet);
        }