public virtual void SerializeData(BinaryWriter writer, ComponentDataPool componentDataPool) { componentDataPool.GetISyncItemIdDataInstance().Bind(this.itemId).SerializeData(writer, componentDataPool); writer.Write((byte)this.changeType); ICustomClonable customClonable = this.watermark as ICustomClonable; if (customClonable != null) { this.watermark = (ISyncWatermark)customClonable.CustomClone(); } componentDataPool.GetISyncWatermarkDataInstance().Bind(this.watermark).SerializeData(writer, componentDataPool); writer.Write(this.IsAcknowledgedByClient); componentDataPool.GetNullableInt32ArrayInstance().Bind(this.changeTrackingInformation).SerializeData(writer, componentDataPool); writer.Write(this.IsRejected); writer.Write(this.IsDelayedServerOperation); componentDataPool.GetNullableDateTimeDataInstance().Bind(this.filterDate).SerializeData(writer, componentDataPool); componentDataPool.GetStringDataInstance().Bind(this.messageClass).SerializeData(writer, componentDataPool); componentDataPool.GetConversationIdDataInstance().Bind(this.conversationId).SerializeData(writer, componentDataPool); writer.Write(this.FirstMessageInConversation); writer.Write((byte)this.itemRead); }
public virtual void DeserializeData(BinaryReader reader, ComponentDataPool componentDataPool) { DerivedData <ISyncItemId> isyncItemIdDataInstance = componentDataPool.GetISyncItemIdDataInstance(); isyncItemIdDataInstance.DeserializeData(reader, componentDataPool); this.itemId = isyncItemIdDataInstance.Data; this.changeType = (ChangeType)reader.ReadByte(); DerivedData <ISyncWatermark> isyncWatermarkDataInstance = componentDataPool.GetISyncWatermarkDataInstance(); isyncWatermarkDataInstance.DeserializeData(reader, componentDataPool); this.watermark = isyncWatermarkDataInstance.Data; this.IsAcknowledgedByClient = reader.ReadBoolean(); ArrayData <NullableData <Int32Data, int>, int?> nullableInt32ArrayInstance = componentDataPool.GetNullableInt32ArrayInstance(); nullableInt32ArrayInstance.DeserializeData(reader, componentDataPool); this.changeTrackingInformation = nullableInt32ArrayInstance.Data; this.IsRejected = reader.ReadBoolean(); this.IsDelayedServerOperation = reader.ReadBoolean(); if (componentDataPool.InternalVersion > 0) { NullableDateTimeData nullableDateTimeDataInstance = componentDataPool.GetNullableDateTimeDataInstance(); nullableDateTimeDataInstance.DeserializeData(reader, componentDataPool); this.filterDate = nullableDateTimeDataInstance.Data; StringData stringDataInstance = componentDataPool.GetStringDataInstance(); stringDataInstance.DeserializeData(reader, componentDataPool); this.messageClass = stringDataInstance.Data; ConversationIdData conversationIdDataInstance = componentDataPool.GetConversationIdDataInstance(); conversationIdDataInstance.DeserializeData(reader, componentDataPool); this.conversationId = conversationIdDataInstance.Data; this.FirstMessageInConversation = reader.ReadBoolean(); if (componentDataPool.InternalVersion > 2) { this.itemRead = (ServerManifestEntry.ReadFlagState)reader.ReadByte(); } } }