// public methods
 /// <summary>
 /// Applies a modification to the member map.
 /// </summary>
 /// <param name="memberMap">The member map.</param>
 public void Apply(BsonMemberMap memberMap)
 {
     if (memberMap.MemberType == _type)
     {
         memberMap.SetSerializationOptions(_serializationOptions);
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Applies a modification to the member map.
 /// </summary>
 /// <param name="memberMap">The member map.</param>
 public void Apply(BsonMemberMap memberMap)
 {
     if (memberMap.MemberType.IsEnum)
     {
         memberMap.SetSerializationOptions(new RepresentationSerializationOptions(_representation));
     }
 }
 // public methods
 /// <summary>
 /// Applies a modification to the member map.
 /// </summary>
 /// <param name="memberMap">The member map.</param>
 public void Apply(BsonMemberMap memberMap)
 {
     if (memberMap.MemberType == _type)
     {
         memberMap.SetSerializationOptions(_serializationOptions);
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Applies the specified member map convention.
        /// </summary>
        /// <param name="memberMap">The member map convention.</param>
        public void Apply(BsonMemberMap memberMap)
        {
            IBsonSerializationOptions options = null;

            switch (memberMap.MemberInfo.MemberType)
            {
            case MemberTypes.Property:
                PropertyInfo propertyInfo = (PropertyInfo)memberMap.MemberInfo;
                if (propertyInfo.PropertyType == typeof(DateTime) ||
                    propertyInfo.PropertyType == typeof(DateTime?))
                {
                    options = new DateTimeSerializationOptions(DateTimeKind.Local);
                }
                break;

            case MemberTypes.Field:
                FieldInfo fieldInfo = (FieldInfo)memberMap.MemberInfo;
                if (fieldInfo.FieldType == typeof(DateTime) ||
                    fieldInfo.FieldType == typeof(DateTime?))
                {
                    options = new DateTimeSerializationOptions(DateTimeKind.Local);
                }
                break;

            default:
                break;
            }
            memberMap.SetSerializationOptions(options);
        }
Ejemplo n.º 5
0
 public void Apply(BsonMemberMap memberMap)
 {
     if (memberMap.MemberType == typeof(DateTime))
     {
         memberMap.SetSerializationOptions(new DateTimeSerializationOptions(_kind, _representation));
     }
 }
 /// <summary>
 /// Applies a modification to the member map.
 /// </summary>
 /// <param name="memberMap">The member map.</param>
 public void Apply(BsonMemberMap memberMap)
 {
     if (memberMap.MemberType.IsEnum)
     {
         memberMap.SetSerializationOptions(new RepresentationSerializationOptions(_representation));
     }
 }
Ejemplo n.º 7
0
        public static void Test_LoadMongoDetail_01()
        {
            Trace.WriteLine("Test_LoadMongoDetail_01");
            Trace.WriteLine();

            RapideDdl.InitMongoClassMap();

            if (BsonClassMap.IsClassMapRegistered(typeof(RapideDdl_Base)))
            {
                BsonClassMap map = BsonClassMap.LookupClassMap(typeof(RapideDdl_Base));
                Trace.WriteLine("change existing class map");
                BsonMemberMap memberMap = map.GetMemberMap("infos");
                memberMap.SetSerializationOptions(DictionarySerializationOptions.ArrayOfDocuments);
            }
            else
            {
                Trace.WriteLine("register class map");
                BsonClassMap.RegisterClassMap <RapideDdl_Base>(cm =>
                {
                    cm.AutoMap();
                    cm.GetMemberMap(c => c.infos).SetSerializationOptions(DictionarySerializationOptions.ArrayOfDocuments);
                });
            }
            Trace.WriteLine();

            string query = "{ _id: 35105 }";
            MongoCursor <BsonDocument> cursor = MongoCommand.GetDatabase(null, "dl").GetCollection("RapideDdl_Detail").zFind <BsonDocument>(new QueryDocument(BsonSerializer.Deserialize <BsonDocument>(query)));
            int i = 1;

            foreach (BsonDocument document in cursor)
            {
                BsonDocument         document2  = (BsonDocument)document["download"];
                RapideDdl_PostDetail postDetail = BsonSerializer.Deserialize <RapideDdl_PostDetail>(document2);
                //MongoDB.Bson.Serialization.IBsonSerializationOptions options;
                //MongoDB.Bson.Serialization.BsonSerializer.Serialize()
                //Serialization.Options
                //SerializationOptions
                //MongoDB.Bson.Serialization.Options.RepresentationSerializationOptions
                //document2 = postDetail.ToBsonDocument(new DictionarySerializationOptions(DictionaryRepresentation.ArrayOfDocuments));
                //DictionarySerializationOptions.
                //BsonClassMap.RegisterClassMap<RapideDdl_PostDetail>(cm => { cm.MapProperty(c => c.SomeProperty); cm.MapProperty(c => c.AnotherProperty); });
                //document2 = postDetail.ToBsonDocument();
                Trace.WriteLine("document no {0}", i++);
                //DocumentSerializationOptions options = new DocumentSerializationOptions();
                //Trace.WriteLine(postDetail.ToJson(new DictionarySerializationOptions(DictionaryRepresentation.ArrayOfDocuments)));

                //RapideDdl_PostDetail  RapideDdl_Base
                //BsonClassMap<RapideDdl_Base> map = BsonClassMap.LookupClassMap(typeof(RapideDdl_Base));


                //Trace.WriteLine(document.zToJson());
                Trace.WriteLine(postDetail.zToJson());
                Trace.WriteLine();
            }
        }
 // public methods
 /// <summary>
 /// Applies a modification to the member map.
 /// </summary>
 /// <param name="memberMap">The member map.</param>
 public virtual void Apply(BsonMemberMap memberMap)
 {
     var memberSerializer = memberMap.GetSerializer(memberMap.MemberType);
     var memberSerializationOptions = memberMap.SerializationOptions;
     if (memberSerializationOptions == null)
     {
         var memberDefaultSerializationOptions = memberSerializer.GetDefaultSerializationOptions();
         if (memberDefaultSerializationOptions == null)
         {
             var message = string.Format(
                 "A serialization options attribute of type {0} cannot be used when the serializer is of type {1}.",
                 BsonUtils.GetFriendlyTypeName(this.GetType()),
                 BsonUtils.GetFriendlyTypeName(memberSerializer.GetType()));
             throw new NotSupportedException(message);
         }
         memberSerializationOptions = memberDefaultSerializationOptions.Clone();
         memberMap.SetSerializationOptions(memberSerializationOptions);
     }
     memberSerializationOptions.ApplyAttribute(memberSerializer, this);
 }
        // public methods
        /// <summary>
        /// Applies a modification to the member map.
        /// </summary>
        /// <param name="memberMap">The member map.</param>
        public virtual void Apply(BsonMemberMap memberMap)
        {
            var memberSerializer           = memberMap.GetSerializer(memberMap.MemberType);
            var memberSerializationOptions = memberMap.SerializationOptions;

            if (memberSerializationOptions == null)
            {
                var memberDefaultSerializationOptions = memberSerializer.GetDefaultSerializationOptions();
                if (memberDefaultSerializationOptions == null)
                {
                    var message = string.Format(
                        "A serialization options attribute of type {0} cannot be used when the serializer is of type {1}.",
                        BsonUtils.GetFriendlyTypeName(this.GetType()),
                        BsonUtils.GetFriendlyTypeName(memberSerializer.GetType()));
                    throw new NotSupportedException(message);
                }
                memberSerializationOptions = memberDefaultSerializationOptions.Clone();
                memberMap.SetSerializationOptions(memberSerializationOptions);
            }
            memberSerializationOptions.ApplyAttribute(memberSerializer, this);
        }
Ejemplo n.º 10
0
            public void Apply(BsonMemberMap memberMap)
            {
                var value = _convention.GetSerializationOptions(memberMap.MemberInfo);

                memberMap.SetSerializationOptions(value);
            }
 public void Apply(BsonMemberMap memberMap)
 {
     var value = _convention.GetSerializationOptions(memberMap.MemberInfo);
     memberMap.SetSerializationOptions(value);
 }