internal void UpdateHeader(IIfcFileHeader ifcFileHeader, long entityCount) { MemoryStream ms = new MemoryStream(4096); BinaryWriter bw = new BinaryWriter(ms); ifcFileHeader.Write(bw); if (!Api.TryMoveFirst(_jetSession, _jetCursor)) //there is nothing in { using (var update = new Update(_jetSession, _jetCursor, JET_prep.Insert)) { Api.SetColumn(_jetSession, _jetCursor, _colIdHeaderData, ms.ToArray()); Api.SetColumn(_jetSession, _jetCursor, _colIdEntityCount, entityCount); Api.SetColumn(_jetSession, _jetCursor, _colIdFileVersion, XbimDatabaseVersion, Encoding.ASCII); update.Save(); } } else { using (var update = new Update(_jetSession, _jetCursor, JET_prep.Replace)) { Api.SetColumn(_jetSession, _jetCursor, _colIdHeaderData, ms.ToArray()); Api.SetColumn(_jetSession, _jetCursor, _colIdEntityCount, entityCount); Api.SetColumn(_jetSession, _jetCursor, _colIdFileVersion, XbimDatabaseVersion, Encoding.ASCII); update.Save(); } } }
internal void WriteHeader(IIfcFileHeader ifcFileHeader) { MemoryStream ms = new MemoryStream(4096); BinaryWriter bw = new BinaryWriter(ms); ifcFileHeader.Write(bw); if (Api.TryMoveFirst(sesid, globalsTable)) { using (var update = new Update(sesid, globalsTable, JET_prep.Replace)) { Api.SetColumn(sesid, globalsTable, ifcHeaderColumn, ms.ToArray()); update.Save(); } } }