Ejemplo n.º 1
0
        /*
         * protected override List<MemberInfo> GetSerializableMembers(Type objectType)
         * {
         *  var members = base.GetSerializableMembers(objectType);
         *
         *  members.RemoveAll(memberInfo =>
         *      (NHibernateJsonHelper.IsMemberPartOfNHibernateProxyInterface(memberInfo)) ||
         *      (NHibernateJsonHelper.IsMemberDynamicProxyMixin(memberInfo)) ||
         *      (NHibernateJsonHelper.IsMemberMarkedWithIgnoreAttribute(memberInfo, objectType)) ||
         *      (NHibernateJsonHelper.IsMemberInheritedFromProxySuperclass(memberInfo, objectType)));
         *
         *  return members;
         * }
         * */

        protected override List <MemberInfo> GetSerializableMembers(Type objectType)
        {
            var members = base.GetSerializableMembers(objectType);

            members.RemoveAll(
                memberInfo => (NhibernateJsonHelper.IsMemberMarkedWithIgnoreAttribute(memberInfo, objectType)));

            return(members);
        }
Ejemplo n.º 2
0
        protected override JsonContract CreateContract(Type objectType)
        {
            if (NhibernateJsonHelper.IsAssignableFromNHibernateProxy(objectType))
            {
                return(base.CreateContract(objectType.BaseType));
            }

            return(base.CreateContract(objectType));
        }
Ejemplo n.º 3
0
        protected override JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization)
        {
            var property = base.CreateProperty(member, memberSerialization);
            var pinfo    = member as PropertyInfo;

            if ((typeof(string) != property.PropertyType) &&
                typeof(IEnumerable <>).IsAssignableFrom(property.PropertyType) && pinfo != null)
            {
                property.ShouldSerialize =
                    instance => NhibernateJsonHelper.IsInitialized(pinfo.GetValue(instance, null));
            }

            return(property);
        }