예제 #1
0
파일: EJDB.cs 프로젝트: sujeetpillai/ejdb
        bool Save(IntPtr cptr, BSONDocument doc, bool merge)
        {
            bool      rv;
            BSONValue bv = doc.GetBSONValue("_id");

            byte[] bsdata  = doc.ToByteArray();
            byte[] oiddata = new byte[12];
            //static extern bool _ejdbsavebson([In] IntPtr coll, [In] byte[] bsdata, [Out] byte[] oid, bool merge);
            rv = _ejdbsavebson(cptr, bsdata, oiddata, merge);
            if (rv && bv == null)
            {
                doc.SetOID("_id", new BSONOid(oiddata));
            }
            if (_throwonfail && !rv)
            {
                throw new EJDBException(this);
            }
            return(rv);
        }
예제 #2
0
파일: EJDB.cs 프로젝트: kotanjan220/ejdb
 bool Save(IntPtr cptr, BSONDocument doc, bool merge)
 {
     bool rv;
     BSONValue bv = doc.GetBSONValue("_id");
     byte[] bsdata = doc.ToByteArray();
     byte[] oiddata = new byte[12];
     //static extern bool _ejdbsavebson([In] IntPtr coll, [In] byte[] bsdata, [Out] byte[] oid, bool merge);
     rv = _ejdbsavebson(cptr, bsdata, oiddata, merge);
     if (rv && bv == null) {
         doc.SetOID("_id", new BSONOid(oiddata));
     }
     if (_throwonfail && !rv) {
         throw new EJDBException(this);
     }
     return  rv;
 }