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 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 = (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 = (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 = (BsonJavaScriptWithScope) propertyMap.Getter(obj); if (value == null) { bsonWriter.WriteNull(propertyMap.ElementName); } else { bsonWriter.WriteJavaScriptWithScope(propertyMap.ElementName, value.Code); value.Scope.WriteTo(bsonWriter); } }
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 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 = (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 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); } }