Esempio n. 1
0
        public override Tag Deserialize(MongoDB.Bson.Serialization.BsonDeserializationContext context,
                                        MongoDB.Bson.Serialization.BsonDeserializationArgs args)
        {
            var value = context.Reader.ReadString();

            return(Tag.Load(value));
        }
Esempio n. 2
0
        public override Email Deserialize(MongoDB.Bson.Serialization.BsonDeserializationContext context,
                                          MongoDB.Bson.Serialization.BsonDeserializationArgs args)
        {
            var emailValue = context.Reader.ReadString();

            return(Email.Load(emailValue));
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
 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()));
 }
Esempio n. 5
0
    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);
    }