void IXRSerializable.SerializeProperties(XRSerializer serializer)
        {
            var members = this.GetMemberInfos();

            foreach (var member in members)
                XtraReportsSerializationHelper.SerializeMember(this, member, serializer);
        }
Esempio n. 2
0
 void IXRSerializable.SerializeProperties(XRSerializer serializer)
 {
     serializer.SerializeInteger("ItemCount", this.Count);
     for (int i = 0; i < Count; i++)
     {
         serializer.Serialize("Item" + i, this[i]);
     }
 }
        protected override void SerializeProperties(XRSerializer serializer)
        {
            base.SerializeProperties(serializer);

            foreach (var property in _CustomProperties)
            {
                XtraReportsSerializationHelper.SerializeMember(this, property, serializer);
            }
        }
Esempio n. 4
0
        void IXRSerializable.DeserializeProperties(XRSerializer serializer)
        {
            var members = this.GetMemberInfos();

            foreach (var member in members)
            {
                XtraReportsSerializationHelper.DeserializeMember(this, member, serializer);
            }
        }
Esempio n. 5
0
        void IXRSerializable.DeserializeProperties(XRSerializer serializer)
        {
            Clear();
            int count = serializer.DeserializeInteger("ItemCount", 0);

            for (int i = 0; i < count; i++)
            {
                var item = new T();
                serializer.Deserialize("Item" + i, item);
                Add(item);
            }
        }
        public static void SerializeMember(IXRSerializable containerInstance, MemberInfo memberInfo, XRSerializer serializer)
        {
            var member = GetTypeDetailsFromMember(memberInfo);
            var name = member.Item1;
            var type = member.Item2;
            // Get Value
            var value = ReflectionHelper.GetMemberValue(containerInstance, name);

            if (typeof(IXRSerializable).IsAssignableFrom(type))
                serializer.Serialize(name, value as IXRSerializable);

            else if (type == typeof(string))
                serializer.SerializeString(name, (string)value);

            else if (type == typeof(Type))
            {
                var typeValue = (Type)value;
                var typeString = (typeValue != null) ? typeValue.AssemblyQualifiedName : string.Empty;
                serializer.SerializeString(name, typeString);
            }

            // Other types here
        }
        public static void DeserializeMember(IXRSerializable containerInstance, MemberInfo memberInfo, XRSerializer serializer)
        {
            var member = GetTypeDetailsFromMember(memberInfo);
            var name = member.Item1;
            var type = member.Item2;
            object value = null;

            // If collection, Clear before deserializing
            var currentValue = ReflectionHelper.GetMemberValue(containerInstance, name);
            var collection = currentValue as IList;
            if (collection != null && collection as IXRSerializable != null)
            {
                collection.Clear();
                serializer.Deserialize(name, collection as IXRSerializable);
                // Items have now been added to the collection.  Finished.
                return;
            }

            else if (typeof(IXRSerializable).IsAssignableFrom(type))
            {
                // must create object using parameterless constructor
                if (type.HasDefaultConstructor() == false)
                    throw new MissingMethodException("A default constructor is required to deserialize IXRSerializable type: {0}".FormatString(type.ToString()));

                value = Activator.CreateInstance(type);
                serializer.Deserialize(name, value as IXRSerializable);
            }

            else if (type == typeof(string))
                value = serializer.DeserializeString(name, string.Empty);

            else if (type == typeof(Type))
                value = Type.GetType(serializer.DeserializeString(name, string.Empty), false);

            // Set Value
            ReflectionHelper.SetMemberValue(containerInstance, name, value);
        }
        public static void DeserializeMember(IXRSerializable containerInstance, MemberInfo memberInfo, XRSerializer serializer)
        {
            var    member = GetTypeDetailsFromMember(memberInfo);
            var    name   = member.Item1;
            var    type   = member.Item2;
            object value  = null;

            // If collection, Clear before deserializing
            var currentValue = ReflectionHelper.GetMemberValue(containerInstance, name);
            var collection   = currentValue as IList;

            if (collection != null && collection as IXRSerializable != null)
            {
                collection.Clear();
                serializer.Deserialize(name, collection as IXRSerializable);
                // Items have now been added to the collection.  Finished.
                return;
            }

            else if (typeof(IXRSerializable).IsAssignableFrom(type))
            {
                // must create object using parameterless constructor
                if (type.HasDefaultConstructor() == false)
                {
                    throw new MissingMethodException("A default constructor is required to deserialize IXRSerializable type: {0}".FormatString(type.ToString()));
                }

                value = Activator.CreateInstance(type);
                serializer.Deserialize(name, value as IXRSerializable);
            }

            else if (type == typeof(string))
            {
                value = serializer.DeserializeString(name, string.Empty);
            }

            else if (type == typeof(Type))
            {
                value = Type.GetType(serializer.DeserializeString(name, string.Empty), false);
            }

            // Set Value
            ReflectionHelper.SetMemberValue(containerInstance, name, value);
        }
        public static void SerializeMember(IXRSerializable containerInstance, MemberInfo memberInfo, XRSerializer serializer)
        {
            var member = GetTypeDetailsFromMember(memberInfo);
            var name   = member.Item1;
            var type   = member.Item2;
            // Get Value
            var value = ReflectionHelper.GetMemberValue(containerInstance, name);

            if (typeof(IXRSerializable).IsAssignableFrom(type))
            {
                serializer.Serialize(name, value as IXRSerializable);
            }

            else if (type == typeof(string))
            {
                serializer.SerializeString(name, (string)value);
            }

            else if (type == typeof(Type))
            {
                var typeValue  = (Type)value;
                var typeString = (typeValue != null) ? typeValue.AssemblyQualifiedName : string.Empty;
                serializer.SerializeString(name, typeString);
            }

            // Other types here
        }
Esempio n. 10
0
 protected override void SerializeProperties(XRSerializer serializer)
 {
     base.SerializeProperties(serializer);
     serializer.SerializeString("ReportId", ReportId);
     serializer.SerializeString("ReportDescription", ReportDescription);
 }
Esempio n. 11
0
 protected override void DeserializeProperties(XRSerializer serializer)
 {
     base.DeserializeProperties(serializer);
     ReportDescription = serializer.DeserializeString("ReportDescription", string.Empty);
     ReportId = serializer.DeserializeString("ReportId", string.Empty);
 }