internal bool SaveValue(int oid, string field, SqoTypeInfo ti, object value) { if (field == "OID") { throw new SiaqodbException("OID cannot be saved from client code!"); } ObjectSerializer serializer = SerializerFactory.GetSerializer(this.path, GetFileByType(ti), useElevatedTrust); serializer.NeedSaveComplexObject += new EventHandler <ComplexObjectEventArgs>(serializer_NeedSaveComplexObject); if (oid > 0 && oid <= ti.Header.numberOfRecords && !serializer.IsObjectDeleted(oid, ti)) { return(serializer.SaveFieldValue(oid, field, ti, value, this.rawSerializer)); } else { return(false); } }
public TransactionObjectHeader PreCommit() { if (objInfo.Oid > 0 && objInfo.Oid <= objInfo.SqoTypeInfo.Header.numberOfRecords && !serializer.IsObjectDeleted(objInfo.Oid, objInfo.SqoTypeInfo)) { originalObject = engine.LoadObjectByOID(objInfo.SqoTypeInfo, objInfo.Oid); TransactionObjectHeader header = new TransactionObjectHeader(); header.Operation = this.Operation; header.OIDofObject = engine.metaCache.GetOIDOfObject(originalObject, objInfo.SqoTypeInfo); return header; } return null; }