Exemplo n.º 1
0
        public MongoLogWriterImpl(StorageOptions options, ILogger log) : base(options, log)
        {
            client = new MongoClient(options.MongoDB);
            var serializer = new MongoDB.Bson.Serialization.Serializers.DateTimeSerializer(DateTimeKind.Local);

            BsonSerializer.RegisterSerializer(typeof(DateTime), serializer);
        }
        static int _m_Serialize(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                MongoDB.Bson.Serialization.Serializers.DateTimeSerializer gen_to_be_invoked = (MongoDB.Bson.Serialization.Serializers.DateTimeSerializer)translator.FastGetCSObj(L, 1);



                {
                    MongoDB.Bson.Serialization.BsonSerializationContext _context = (MongoDB.Bson.Serialization.BsonSerializationContext)translator.GetObject(L, 2, typeof(MongoDB.Bson.Serialization.BsonSerializationContext));
                    MongoDB.Bson.Serialization.BsonSerializationArgs    _args; translator.Get(L, 3, out _args);
                    System.DateTime _value; translator.Get(L, 4, out _value);

                    gen_to_be_invoked.Serialize(_context, _args, _value);



                    return(0);
                }
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
        }
        static DriverInitializer()
        {
            MongoDB.Bson.Serialization.Options.DateTimeSerializationOptions options =
                MongoDB.Bson.Serialization.Options.DateTimeSerializationOptions.LocalInstance;
            var serializer = new MongoDB.Bson.Serialization.Serializers.DateTimeSerializer(options);

            MongoDB.Bson.Serialization.BsonSerializer.RegisterSerializer(typeof(DateTime), serializer);

            BsonClassMap.RegisterClassMap <Model.Activity>();
            BsonClassMap.RegisterClassMap <Model.Training>();
            BsonClassMap.RegisterClassMap <Model.Travel>();
            BsonClassMap.RegisterClassMap <Model.Sleep>();
            BsonClassMap.RegisterClassMap <Model.Rest>();
            BsonClassMap.RegisterClassMap <Model.Hotel>();
            BsonClassMap.RegisterClassMap <Model.Weight>();
            BsonClassMap.RegisterClassMap <Model.Sick>();

            //BsonClassMap.RegisterClassMap<TrainingSessionMeasurmentData>(cm =>
            //{
            //    cm.MapIdProperty(c => c.Id)
            //        .SetIdGenerator(new ObjectIdGenerator())
            //        .SetRepresentation(BsonType.String);
            //    cm.MapProperty(c => c.ActivityClassification).SetElementName("ActivityClassification");
            //});
        }
        static int _g_get_Representation(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);

                MongoDB.Bson.Serialization.Serializers.DateTimeSerializer gen_to_be_invoked = (MongoDB.Bson.Serialization.Serializers.DateTimeSerializer)translator.FastGetCSObj(L, 1);
                translator.PushMongoDBBsonBsonType(L, gen_to_be_invoked.Representation);
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(1);
        }
        static int _g_get_DateOnly(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);

                MongoDB.Bson.Serialization.Serializers.DateTimeSerializer gen_to_be_invoked = (MongoDB.Bson.Serialization.Serializers.DateTimeSerializer)translator.FastGetCSObj(L, 1);
                LuaAPI.lua_pushboolean(L, gen_to_be_invoked.DateOnly);
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(1);
        }
        static int _m_WithKind(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                MongoDB.Bson.Serialization.Serializers.DateTimeSerializer gen_to_be_invoked = (MongoDB.Bson.Serialization.Serializers.DateTimeSerializer)translator.FastGetCSObj(L, 1);


                int gen_param_count = LuaAPI.lua_gettop(L);

                if (gen_param_count == 2 && translator.Assignable <System.DateTimeKind>(L, 2))
                {
                    System.DateTimeKind _kind; translator.Get(L, 2, out _kind);

                    MongoDB.Bson.Serialization.Serializers.DateTimeSerializer gen_ret = gen_to_be_invoked.WithKind(_kind);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 3 && translator.Assignable <System.DateTimeKind>(L, 2) && translator.Assignable <MongoDB.Bson.BsonType>(L, 3))
                {
                    System.DateTimeKind   _kind; translator.Get(L, 2, out _kind);
                    MongoDB.Bson.BsonType _representation; translator.Get(L, 3, out _representation);

                    MongoDB.Bson.Serialization.Serializers.DateTimeSerializer gen_ret = gen_to_be_invoked.WithKind(_kind, _representation);
                    translator.Push(L, gen_ret);



                    return(1);
                }
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }

            return(LuaAPI.luaL_error(L, "invalid arguments to MongoDB.Bson.Serialization.Serializers.DateTimeSerializer.WithKind!"));
        }
        static int _m_WithRepresentation(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                MongoDB.Bson.Serialization.Serializers.DateTimeSerializer gen_to_be_invoked = (MongoDB.Bson.Serialization.Serializers.DateTimeSerializer)translator.FastGetCSObj(L, 1);



                {
                    MongoDB.Bson.BsonType _representation; translator.Get(L, 2, out _representation);

                    MongoDB.Bson.Serialization.Serializers.DateTimeSerializer gen_ret = gen_to_be_invoked.WithRepresentation(_representation);
                    translator.Push(L, gen_ret);



                    return(1);
                }
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
        }
Exemplo n.º 8
0
        static void Main(string[] args)
        {
            const string SERVER       = "localhost";
            const string DATABASE     = "poc";
            const string COLLECTION   = "Grid";
            const bool   USE_OLDFIELD = true;

            var serializer = new MongoDB.Bson.Serialization.Serializers.DateTimeSerializer(DateTimeKind.Local);

            BsonSerializer.RegisterSerializer <DateTime>(serializer);

            var dbSettings = new MongoClientSettings()
            {
                Server = new MongoServerAddress(SERVER),
                UseTls = false
            };

            MongoClient dbClient   = new MongoClient(dbSettings);
            var         db         = dbClient.GetDatabase(DATABASE);
            var         collection = db.GetCollection <BsonDocument>(COLLECTION);

            var docs = collection.Find(new BsonDocument());

            foreach (var doc in docs.ToList())
            {
                bool converted = false;
                Console.WriteLine($"Starting grid id {doc["_id"]}.");
                var slots = doc["Slots"];
                foreach (var slot in slots.AsBsonArray)
                {
                    Console.Write($"Checking Slot id {slot["_id"]} for Clauses...");
                    var clauses = slot["Clauses"];
                    if (!clauses.IsBsonNull)
                    {
                        Console.WriteLine($"{clauses.AsBsonArray.Count} Clauses founded.");
                        foreach (var clause in clauses.AsBsonArray)
                        {
                            if (clause.ConvertField <DateTime, BsonDateTime>("StartDate", USE_OLDFIELD ? "OldStartDate" : null, x => DateTime.Parse(x)))
                            {
                                converted = true;
                            }
                            if (clause.ConvertField <DateTime, BsonDateTime>("EndDate", USE_OLDFIELD ? "OldEndDate" : null, x => DateTime.Parse(x)))
                            {
                                converted = true;
                            }
                        }
                    }
                    else
                    {
                        Console.WriteLine(" No Clauses founded.");
                    }
                }

                if (converted)
                {
                    var filter = Builders <BsonDocument> .Filter.Eq(x => x["_id"], doc["_id"]);

                    collection.ReplaceOne(filter, doc);

                    Console.WriteLine($"Grid id {doc["_id"]} replaced.");
                    Console.WriteLine("----------------------");
                }
                else
                {
                    Console.WriteLine($"No Clauses changed for Grid id {doc["_id"]} .");
                    Console.WriteLine("----------------------");
                }
            }
        }
        static int __CreateInstance(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                if (LuaAPI.lua_gettop(L) == 1)
                {
                    MongoDB.Bson.Serialization.Serializers.DateTimeSerializer gen_ret = new MongoDB.Bson.Serialization.Serializers.DateTimeSerializer();
                    translator.Push(L, gen_ret);

                    return(1);
                }
                if (LuaAPI.lua_gettop(L) == 2 && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 2))
                {
                    bool _dateOnly = LuaAPI.lua_toboolean(L, 2);

                    MongoDB.Bson.Serialization.Serializers.DateTimeSerializer gen_ret = new MongoDB.Bson.Serialization.Serializers.DateTimeSerializer(_dateOnly);
                    translator.Push(L, gen_ret);

                    return(1);
                }
                if (LuaAPI.lua_gettop(L) == 3 && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 2) && translator.Assignable <MongoDB.Bson.BsonType>(L, 3))
                {
                    bool _dateOnly = LuaAPI.lua_toboolean(L, 2);
                    MongoDB.Bson.BsonType _representation; translator.Get(L, 3, out _representation);

                    MongoDB.Bson.Serialization.Serializers.DateTimeSerializer gen_ret = new MongoDB.Bson.Serialization.Serializers.DateTimeSerializer(_dateOnly, _representation);
                    translator.Push(L, gen_ret);

                    return(1);
                }
                if (LuaAPI.lua_gettop(L) == 2 && translator.Assignable <MongoDB.Bson.BsonType>(L, 2))
                {
                    MongoDB.Bson.BsonType _representation; translator.Get(L, 2, out _representation);

                    MongoDB.Bson.Serialization.Serializers.DateTimeSerializer gen_ret = new MongoDB.Bson.Serialization.Serializers.DateTimeSerializer(_representation);
                    translator.Push(L, gen_ret);

                    return(1);
                }
                if (LuaAPI.lua_gettop(L) == 2 && translator.Assignable <System.DateTimeKind>(L, 2))
                {
                    System.DateTimeKind _kind; translator.Get(L, 2, out _kind);

                    MongoDB.Bson.Serialization.Serializers.DateTimeSerializer gen_ret = new MongoDB.Bson.Serialization.Serializers.DateTimeSerializer(_kind);
                    translator.Push(L, gen_ret);

                    return(1);
                }
                if (LuaAPI.lua_gettop(L) == 3 && translator.Assignable <System.DateTimeKind>(L, 2) && translator.Assignable <MongoDB.Bson.BsonType>(L, 3))
                {
                    System.DateTimeKind   _kind; translator.Get(L, 2, out _kind);
                    MongoDB.Bson.BsonType _representation; translator.Get(L, 3, out _representation);

                    MongoDB.Bson.Serialization.Serializers.DateTimeSerializer gen_ret = new MongoDB.Bson.Serialization.Serializers.DateTimeSerializer(_kind, _representation);
                    translator.Push(L, gen_ret);

                    return(1);
                }
            }
            catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(LuaAPI.luaL_error(L, "invalid arguments to MongoDB.Bson.Serialization.Serializers.DateTimeSerializer constructor!"));
        }