public void SerializeProperty( BsonWriter bsonWriter, object obj, BsonPropertyMap propertyMap ) { var value = (bool) propertyMap.Getter(obj); bsonWriter.WriteBoolean(propertyMap.ElementName, value); }
public void DeserializeProperty( BsonReader bsonReader, object obj, BsonPropertyMap propertyMap ) { var value = bsonReader.ReadBoolean(propertyMap.ElementName); propertyMap.Setter(obj, value); }
public void SerializeProperty( BsonWriter bsonWriter, object obj, BsonPropertyMap propertyMap ) { var value = (BsonArray) propertyMap.Getter(obj); if (value == null) { bsonWriter.WriteNull(propertyMap.ElementName); } else { bsonWriter.WriteArrayName(propertyMap.ElementName); value.WriteTo(bsonWriter); } }
public void SerializeProperty( BsonWriter bsonWriter, object obj, BsonPropertyMap propertyMap ) { var value = propertyMap.Getter(obj); if (value == null) { bsonWriter.WriteNull(propertyMap.ElementName); } else { bsonWriter.WriteDocumentName(propertyMap.ElementName); var propertyType = propertyMap.PropertyInfo.PropertyType; var serializeDiscriminator = BsonPropertyMap.IsPolymorphicType(propertyType) || obj.GetType() != propertyType; BsonSerializer.Serialize(bsonWriter, value, false, serializeDiscriminator); } }
public void DeserializeProperty( BsonReader bsonReader, object obj, BsonPropertyMap propertyMap ) { BsonType bsonType = bsonReader.PeekBsonType(); object value; if (bsonType == BsonType.Null) { bsonReader.ReadNull(propertyMap.ElementName); value = null; } else { bsonReader.ReadDocumentName(propertyMap.ElementName); value = BsonSerializer.Deserialize(bsonReader, propertyMap.PropertyInfo.PropertyType); } propertyMap.Setter(obj, value); }
public void DeserializeProperty( BsonReader bsonReader, object obj, BsonPropertyMap propertyMap ) { var bsonType = bsonReader.PeekBsonType(); BsonArray value; if (bsonType == BsonType.Null) { bsonReader.ReadNull(propertyMap.ElementName); value = null; } else { bsonReader.ReadArrayName(propertyMap.ElementName); value = BsonArray.ReadFrom(bsonReader); } propertyMap.Setter(obj, value); }
public void DeserializeProperty( BsonReader bsonReader, object obj, BsonPropertyMap propertyMap ) { BsonType bsonType = bsonReader.PeekBsonType(); byte value; if (bsonType == BsonType.Int32) { value = (byte) bsonReader.ReadInt32(propertyMap.ElementName); } else if (bsonType == BsonType.Document) { bsonReader.ReadDocumentName(propertyMap.ElementName); bsonReader.ReadStartDocument(); bsonReader.VerifyString("_t", typeof(byte).FullName); value = (byte) bsonReader.ReadInt32("v"); bsonReader.ReadEndDocument(); } else { throw new FileFormatException("Element is not valid System.Byte"); } propertyMap.Setter(obj, value); }
public void DeserializeProperty( BsonReader bsonReader, object obj, BsonPropertyMap propertyMap ) { var bsonType = bsonReader.PeekBsonType(); BsonInt64 value; if (bsonType == BsonType.Null) { bsonReader.ReadNull(propertyMap.ElementName); value = null; } else { value = BsonInt64.Create(bsonReader.ReadInt64(propertyMap.ElementName)); } propertyMap.Setter(obj, value); }
public void SerializeProperty( BsonWriter bsonWriter, object obj, BsonPropertyMap propertyMap ) { var value = (DateTime) propertyMap.Getter(obj); bsonWriter.WriteDateTime(propertyMap.ElementName, value); }
public void SerializeProperty( BsonWriter bsonWriter, object obj, BsonPropertyMap propertyMap ) { var value = (BsonDateTime) propertyMap.Getter(obj); if (value == null) { bsonWriter.WriteNull(propertyMap.ElementName); } else { bsonWriter.WriteDateTime(propertyMap.ElementName, value.Value); } }
public void DeserializeProperty( BsonReader bsonReader, object obj, BsonPropertyMap propertyMap ) { throw new InvalidOperationException("BsonDocumentWrappers cannot be deserialized"); }
public void SerializeProperty( BsonWriter bsonWriter, object obj, BsonPropertyMap propertyMap ) { var value = (long) propertyMap.Getter(obj); bsonWriter.WriteInt64(propertyMap.ElementName, value); }
public void SerializeProperty( BsonWriter bsonWriter, object obj, BsonPropertyMap propertyMap ) { var value = (BsonBinaryData) propertyMap.Getter(obj); if (value == null) { bsonWriter.WriteNull(propertyMap.ElementName); } else { bsonWriter.WriteBinaryData(propertyMap.ElementName, value.Bytes, value.SubType); } }
public void SerializeProperty( BsonWriter bsonWriter, object obj, BsonPropertyMap propertyMap ) { var value = (BsonNull) propertyMap.Getter(obj); if (value == null) { bsonWriter.WriteDocumentName(propertyMap.ElementName); bsonWriter.WriteStartDocument(); bsonWriter.WriteString("$null", "c#null"); bsonWriter.WriteEndDocument(); } else { bsonWriter.WriteNull(propertyMap.ElementName); } }
public void SerializeProperty( BsonWriter bsonWriter, object obj, BsonPropertyMap propertyMap ) { var value = (BsonJavaScriptWithScope) propertyMap.Getter(obj); if (value == null) { bsonWriter.WriteNull(propertyMap.ElementName); } else { bsonWriter.WriteJavaScriptWithScope(propertyMap.ElementName, value.Code); value.Scope.WriteTo(bsonWriter); } }
public void DeserializeProperty( BsonReader bsonReader, object obj, BsonPropertyMap propertyMap ) { var bsonType = bsonReader.PeekBsonType(); BsonRegularExpression value; if (bsonType == BsonType.Null) { bsonReader.ReadNull(propertyMap.ElementName); value = null; } else { string pattern, options; bsonReader.ReadRegularExpression(propertyMap.ElementName, out pattern, out options); value = new BsonRegularExpression(pattern, options); } propertyMap.Setter(obj, value); }
public void SerializeProperty( BsonWriter bsonWriter, object obj, BsonPropertyMap propertyMap ) { var value = (BsonMinKey) propertyMap.Getter(obj); if (value == null) { bsonWriter.WriteNull(propertyMap.ElementName); } else { bsonWriter.WriteMinKey(propertyMap.ElementName); } }
public void SerializeProperty( BsonWriter bsonWriter, object obj, BsonPropertyMap propertyMap ) { var value = (BsonObjectId) propertyMap.Getter(obj); if (value == null) { bsonWriter.WriteNull(propertyMap.ElementName); } else { bsonWriter.WriteObjectId(propertyMap.ElementName, value.Timestamp, value.MachinePidIncrement); } }
public void DeserializeProperty( BsonReader bsonReader, object obj, BsonPropertyMap propertyMap ) { byte[] bytes; BsonBinarySubType subType; bsonReader.ReadBinaryData(propertyMap.ElementName, out bytes, out subType); if (bytes.Length != 16) { throw new FileFormatException("BinaryData length is not 16"); } if (subType != BsonBinarySubType.Uuid) { throw new FileFormatException("BinaryData sub type is not Uuid"); } var value = new Guid(bytes); propertyMap.Setter(obj, value); }
public void SerializeProperty( BsonWriter bsonWriter, object obj, BsonPropertyMap propertyMap ) { var value = (Guid) propertyMap.Getter(obj); bsonWriter.WriteBinaryData(propertyMap.ElementName, value.ToByteArray(), BsonBinarySubType.Uuid); }
public void DeserializeProperty( BsonReader bsonReader, object obj, BsonPropertyMap propertyMap ) { var bsonType = bsonReader.PeekBsonType(); BsonJavaScript value; if (bsonType == BsonType.Null) { bsonReader.ReadNull(propertyMap.ElementName); value = null; } else { value = new BsonJavaScript(bsonReader.ReadJavaScript(propertyMap.ElementName)); } propertyMap.Setter(obj, value); }
public void SerializeProperty( BsonWriter bsonWriter, object obj, BsonPropertyMap propertyMap ) { var value = (ulong) propertyMap.Getter(obj); if (propertyMap.UseCompactRepresentation) { bsonWriter.WriteInt64(propertyMap.ElementName, (long) value); } else { bsonWriter.WriteDocumentName(propertyMap.ElementName); bsonWriter.WriteStartDocument(); bsonWriter.WriteString("_t", typeof(ulong).FullName); bsonWriter.WriteInt64("v", (long) value); bsonWriter.WriteEndDocument(); } }
public void DeserializeProperty( BsonReader bsonReader, object obj, BsonPropertyMap propertyMap ) { var bsonType = bsonReader.PeekBsonType(); BsonJavaScriptWithScope value; if (bsonType == BsonType.Null) { bsonReader.ReadNull(propertyMap.ElementName); value = null; } else { var code = bsonReader.ReadJavaScriptWithScope(propertyMap.ElementName); var scope = BsonDocument.ReadFrom(bsonReader); value = new BsonJavaScriptWithScope(code, scope); } propertyMap.Setter(obj, value); }
public void SerializeProperty( BsonWriter bsonWriter, object obj, BsonPropertyMap propertyMap ) { var value = (BsonValue) propertyMap.Getter(obj); if (value == null) { bsonWriter.WriteNull(propertyMap.ElementName); } else { var element = new BsonElement(propertyMap.ElementName, value); element.WriteTo(bsonWriter); } }
public void SerializeProperty( BsonWriter bsonWriter, object obj, BsonPropertyMap propertyMap ) { var value = (BsonRegularExpression) propertyMap.Getter(obj); if (value == null) { bsonWriter.WriteNull(propertyMap.ElementName); } else { bsonWriter.WriteRegularExpression(propertyMap.ElementName, value.Pattern, value.Options); } }
public void DeserializeProperty( BsonReader bsonReader, object obj, BsonPropertyMap propertyMap ) { int timestamp; long machinePidIncrement; bsonReader.ReadObjectId(propertyMap.ElementName, out timestamp, out machinePidIncrement); var value = new ObjectId(timestamp, machinePidIncrement); propertyMap.Setter(obj, value); }
public void DeserializeProperty( BsonReader bsonReader, object obj, BsonPropertyMap propertyMap ) { var bsonType = bsonReader.PeekBsonType(); BsonNull value; if (bsonType == BsonType.Document) { bsonReader.ReadDocumentName(propertyMap.ElementName); bsonReader.ReadStartDocument(); bsonReader.VerifyString("$null", "c#null"); bsonReader.ReadEndDocument(); value = null; } else { bsonReader.ReadNull(propertyMap.ElementName); value = Bson.Null; } propertyMap.Setter(obj, value); }
public void DeserializeProperty( BsonReader bsonReader, object obj, BsonPropertyMap propertyMap ) { var bsonType = bsonReader.PeekBsonType(); BsonBinaryData value; if (bsonType == BsonType.Null) { bsonReader.ReadNull(propertyMap.ElementName); value = null; } else { byte[] bytes; BsonBinarySubType subType; bsonReader.ReadBinaryData(propertyMap.ElementName, out bytes, out subType); value = new BsonBinaryData(bytes, subType); } propertyMap.Setter(obj, value); }
public void DeserializeProperty( BsonReader bsonReader, object obj, BsonPropertyMap propertyMap ) { var bsonType = bsonReader.PeekBsonType(); BsonObjectId value; if (bsonType == BsonType.Null) { bsonReader.ReadNull(propertyMap.ElementName); value = null; } else { int timestamp; long machinePidIncrement; bsonReader.ReadObjectId(propertyMap.ElementName, out timestamp, out machinePidIncrement); value = new BsonObjectId(timestamp, machinePidIncrement); } propertyMap.Setter(obj, value); }
public void DeserializeProperty( BsonReader bsonReader, object obj, BsonPropertyMap propertyMap ) { var bsonType = bsonReader.PeekBsonType(); BsonValue value; if (bsonType == BsonType.Null) { bsonReader.ReadNull(propertyMap.ElementName); value = null; } else { BsonElement element = BsonElement.ReadFrom(bsonReader, propertyMap.ElementName); value = element.Value; } propertyMap.Setter(obj, value); }