public Type GetActualType(MongoDB.Bson.IO.BsonReader bsonReader, Type nominalType) { if (nominalType != typeof(MyAbstractClass)) { throw new Exception("Cannot use FooDiscriminator for type " + nominalType); } var ret = nominalType; var bookmark = bsonReader.GetBookmark(); bsonReader.ReadStartDocument(); if (bsonReader.FindElement(ElementName)) { var value = bsonReader.ReadString(); ret = Type.GetType(value); if (ret == null) { throw new Exception("Could not find type " + value); } if (!ret.IsSubclassOf(typeof(MyAbstractClass))) { throw new Exception("Database type does not inherit from MyAbstractClass."); } } bsonReader.ReturnToBookmark(bookmark); return(ret); }
static int _g_get_State(RealStatePtr L) { try { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); MongoDB.Bson.IO.BsonReader gen_to_be_invoked = (MongoDB.Bson.IO.BsonReader)translator.FastGetCSObj(L, 1); translator.PushMongoDBBsonIOBsonReaderState(L, gen_to_be_invoked.State); } catch (System.Exception gen_e) { return(LuaAPI.luaL_error(L, "c# exception:" + gen_e)); } return(1); }
public override object Deserialize(MongoDB.Bson.IO.BsonReader bsonReader, Type nominalType, Type actualType, IBsonSerializationOptions options) { if (bsonReader.GetCurrentBsonType() == BsonType.Null) { bsonReader.ReadNull(); return(null); } else { var value = bsonReader.ReadString(); var doc = BsonDocument.Parse(value); var query = new QueryDocument(doc); return(query); } }
static int _m_SkipValue(RealStatePtr L) { try { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); MongoDB.Bson.IO.BsonReader gen_to_be_invoked = (MongoDB.Bson.IO.BsonReader)translator.FastGetCSObj(L, 1); { gen_to_be_invoked.SkipValue( ); return(0); } } catch (System.Exception gen_e) { return(LuaAPI.luaL_error(L, "c# exception:" + gen_e)); } }
static int _m_ReadTimestamp(RealStatePtr L) { try { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); MongoDB.Bson.IO.BsonReader gen_to_be_invoked = (MongoDB.Bson.IO.BsonReader)translator.FastGetCSObj(L, 1); { long gen_ret = gen_to_be_invoked.ReadTimestamp( ); LuaAPI.lua_pushint64(L, gen_ret); return(1); } } catch (System.Exception gen_e) { return(LuaAPI.luaL_error(L, "c# exception:" + gen_e)); } }
static int _m_ReadRegularExpression(RealStatePtr L) { try { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); MongoDB.Bson.IO.BsonReader gen_to_be_invoked = (MongoDB.Bson.IO.BsonReader)translator.FastGetCSObj(L, 1); { MongoDB.Bson.BsonRegularExpression gen_ret = gen_to_be_invoked.ReadRegularExpression( ); translator.Push(L, gen_ret); return(1); } } catch (System.Exception gen_e) { return(LuaAPI.luaL_error(L, "c# exception:" + gen_e)); } }
static int _m_ReturnToBookmark(RealStatePtr L) { try { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); MongoDB.Bson.IO.BsonReader gen_to_be_invoked = (MongoDB.Bson.IO.BsonReader)translator.FastGetCSObj(L, 1); { MongoDB.Bson.IO.BsonReaderBookmark _bookmark = (MongoDB.Bson.IO.BsonReaderBookmark)translator.GetObject(L, 2, typeof(MongoDB.Bson.IO.BsonReaderBookmark)); gen_to_be_invoked.ReturnToBookmark(_bookmark); return(0); } } catch (System.Exception gen_e) { return(LuaAPI.luaL_error(L, "c# exception:" + gen_e)); } }
public ActionResult SaveCommenInfoTest(MutualData main, List <MutualData> subList) { JavaScriptSerializer jsonSerializer = new JavaScriptSerializer(); string abc = jsonSerializer.Serialize(HttpContext.Request.Form); string dddd = "{ \"name\" : \"123\", \"hijs\" : [{ \"id\" : 0, \"type\" : 1 }, { \"id\" : 1, \"type\" : 2 }, { \"id\" : 2, \"type\" : 3 }, { \"id\" : 3, \"type\" : 4 }] } "; string ccc = "{ 'name' : '123', 'hijs' : [{ 'id' : 0, 'type' : 1 }, { 'id' : 1, 'type' : 2 }, { 'id' : 2, 'type' : 3 }, { 'id' : 3, 'type' : 4 }] } "; MongoDB.Bson.IO.BsonReader bsonReader = MongoDB.Bson.IO.BsonReader.Create(ccc); BsonDocument tempBson = BsonDocument.ReadFrom(bsonReader); MongoOperation monOp = new MongoOperation(); monOp.Save("TestRelation", tempBson); return(View()); }
static int _m_ReadName(RealStatePtr L) { try { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); MongoDB.Bson.IO.BsonReader gen_to_be_invoked = (MongoDB.Bson.IO.BsonReader)translator.FastGetCSObj(L, 1); int gen_param_count = LuaAPI.lua_gettop(L); if (gen_param_count == 1) { string gen_ret = gen_to_be_invoked.ReadName( ); LuaAPI.lua_pushstring(L, gen_ret); return(1); } if (gen_param_count == 2 && translator.Assignable <MongoDB.Bson.IO.INameDecoder>(L, 2)) { MongoDB.Bson.IO.INameDecoder _nameDecoder = (MongoDB.Bson.IO.INameDecoder)translator.GetObject(L, 2, typeof(MongoDB.Bson.IO.INameDecoder)); string gen_ret = gen_to_be_invoked.ReadName(_nameDecoder); LuaAPI.lua_pushstring(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.IO.BsonReader.ReadName!")); }
public object Deserialize(MongoDB.Bson.IO.BsonReader bsonReader, Type nominalType, IBsonSerializationOptions options) { if (nominalType != typeof(FieldsWrapper)) { throw new ArgumentException("Cannot deserialize anything but self"); } var doc = BsonDocument.ReadFrom(bsonReader); var list = new List <DataFieldValue>(); foreach (var name in doc.Names) { var val = doc[name]; if (val.IsString) { list.Add(new DataFieldValue { LocalIdentifier = name, Values = new List <string> { val.AsString } }); } else if (val.IsBsonArray) { DataFieldValue df = new DataFieldValue { LocalIdentifier = name }; foreach (var elem in val.AsBsonArray) { df.Values.Add(elem.AsString); } list.Add(df); } } return(new FieldsWrapper { DataFieldValues = list }); }
object IBsonSerializer.Deserialize(MongoDB.Bson.IO.BsonReader bsonReader, Type nominalType, IBsonSerializationOptions options) { return(_classMapSerializer.Deserialize(bsonReader, nominalType, options)); }
// MongoDB returns datetime as DateTimeKind.Utc, which cann't be used in our timezone conversion logic // We overwrite it to be DateTimeKind.Unspecified public override object Deserialize(MongoDB.Bson.IO.BsonReader bsonReader, System.Type nominalType, MongoDB.Bson.Serialization.IBsonSerializationOptions options) { var obj = base.Deserialize(bsonReader, nominalType, options); var dt = (DateTime) obj; return new DateTime(dt.Ticks, DateTimeKind.Unspecified); }