public override Tag Deserialize(MongoDB.Bson.Serialization.BsonDeserializationContext context, MongoDB.Bson.Serialization.BsonDeserializationArgs args) { var value = context.Reader.ReadString(); return(Tag.Load(value)); }
public override Email Deserialize(MongoDB.Bson.Serialization.BsonDeserializationContext context, MongoDB.Bson.Serialization.BsonDeserializationArgs args) { var emailValue = context.Reader.ReadString(); return(Email.Load(emailValue)); }
public override Cpf Deserialize(MongoDB.Bson.Serialization.BsonDeserializationContext context, MongoDB.Bson.Serialization.BsonDeserializationArgs args) { //if(context.Reader.ReadBsonType() == BsonType.Null) return null; var value = context.Reader.ReadString(); return(Cpf.Load(value)); }
public override Duration Deserialize(MongoDB.Bson.Serialization.BsonDeserializationContext context, MongoDB.Bson.Serialization.BsonDeserializationArgs args) { if (context.Reader == null || context.Reader.CurrentBsonType == BsonType.Null) { context.Reader.ReadNull(); return(Duration.Load(0)); } return(Duration.Load(context.Reader.ReadInt32())); }
public override List <Animals> Deserialize(MongoDB.Bson.Serialization.BsonDeserializationContext context, MongoDB.Bson.Serialization.BsonDeserializationArgs args) { context.Reader.ReadStartArray(); List <Animals> result = new List <Animals>(); while (true) { try { //this catch block only need to identify the end of the Array context.Reader.ReadStartDocument(); } catch (Exception exp) { context.Reader.ReadEndArray(); break; } var type = context.Reader.ReadString(); var _id = context.Reader.ReadObjectId(); var name = context.Reader.ReadString(); if (type == "Tiger") { double tiger_height = context.Reader.ReadDouble(); result.Add(new Tiger() { Id = id, Name = animal_name, Height = tiger_height }); } else { long zebra_stripes = context.Reader.ReadInt64(); result.Add(return new Zebra() { Id = id, Name = animal_name, StripesAmount = zebra_stripes }); } context.Reader.ReadEndDocument(); } return(result); }