private EntitySerialization01.EntityState OnChangeAllFieldValues(EntitySerialization01.EntityState newState = EntitySerialization01.EntityState.SET) { EntitySerialization01.EntityState prevState = ___entitystate; for (int fi = (int)EntitySerialization01.FieldIndices.HEADERFIELDS; fi < ___nfields; fi++) { OnChangeFieldValue((EntitySerialization01.FieldIndices)fi, newState); } return(prevState); }
public byte[] Serialize() { if (___entitystate == EntitySerialization01.EntityState.UNINITIALIZED) { Initialize(); } EntitySerialization01.EntityState oldState = OnChangeState(EntitySerialization01.EntityState.SERIALIZED); byte[][] fieldBuffer = new byte[this.___nfields][]; // Entity System fields fieldBuffer[0] = FieldSerialization01.GetFieldBuffer(this.__entitytypehash); fieldBuffer[1] = FieldSerialization01.GetFieldBuffer(this.__created); fieldBuffer[2] = FieldSerialization01.GetFieldBuffer(this.__modified); fieldBuffer[3] = FieldSerialization01.GetFieldBuffer(this.__changeindex); // Entity Data fields fieldBuffer[4] = FieldSerialization01.GetFieldBuffer(this._imageVersion); fieldBuffer[5] = FieldSerialization01.GetFieldBuffer(this._imageName); fieldBuffer[6] = FieldSerialization01.GetFieldBuffer(this._imageContent); int lBuffer = EntitySerialization01.NHEADERFIELDS * sizeof(byte); for (int fi = 0; fi < ___nfields; fi++) { lBuffer += fieldBuffer[fi].Length; // Entity System fields plus Entity data fields } byte[] buffer = new byte[lBuffer]; int bufferBase = 0; // Entity Header fields buffer[bufferBase++] = ___entityserializationsignature; buffer[bufferBase++] = ___entityserializationversion; buffer[bufferBase++] = ___fieldserializationversion; buffer[bufferBase++] = (byte)___entitystate; buffer[bufferBase++] = ___nfields; // Entity System fields plus Entity data fields for (int fi = 0; fi < ___nfields; fi++) { if (bufferBase + fieldBuffer[fi].Length > lBuffer) { OnChangeState(EntitySerialization01.EntityState.EXCEPTION_SERIALIZATION); return(Array.Empty <byte>()); } fieldBuffer[fi].CopyTo(buffer, bufferBase); bufferBase += fieldBuffer[fi].Length; } ___entitystate = oldState; return(buffer); }
private EntitySerialization01.EntityState OnChangeFieldValue(EntitySerialization01.FieldIndices eField, EntitySerialization01.EntityState newState = EntitySerialization01.EntityState.SET) { EntitySerialization01.EntityState prevState = ___entitystate; if (newState != EntitySerialization01.EntityState.DONTCHANGESTATE) { ___entitystate = newState; } __modified = DateTime.UtcNow.Ticks; __changeindex++; return(prevState); }
private void Initialize() { // Entity Header fields ___entityserializationsignature = EntitySerialization01.ENTITYSERIALIZATION_SIGNATURE; ___entityserializationversion = EntitySerialization01.ENTITYSERIALIZATION_VERSION; ___fieldserializationversion = FieldSerialization01.FIELDSERIALIZATION_VERSION; ___entitystate = EntitySerialization01.EntityState.INITIALIZED; ___nfields = EntitySerialization01.NSYSTEMFIELDS + __NENTITYFIELDS; // Entity System fields __entitytypehash = ENTITY_TYPE; __created = DateTime.UtcNow.Ticks; __modified = 0; __changeindex = 0; // Entity Data fields _imageVersion = 0; _imageName = String.Empty; _imageContent = Array.Empty <byte>(); }
public ImageLedgerEntry01(int imageversion, string imagename, byte[] imagecontent) { // Entity Header fields ___entityserializationsignature = EntitySerialization01.ENTITYSERIALIZATION_SIGNATURE; ___entityserializationversion = EntitySerialization01.ENTITYSERIALIZATION_VERSION; ___fieldserializationversion = FieldSerialization01.FIELDSERIALIZATION_VERSION; ___entitystate = EntitySerialization01.EntityState.INITIALIZED; ___nfields = EntitySerialization01.NSYSTEMFIELDS + __NENTITYFIELDS; // Entity System fields __entitytypehash = ENTITY_TYPE; __created = DateTime.UtcNow.Ticks; __modified = 0; __changeindex = 0; // Entity Data fields _imageVersion = imageversion; _imageName = imagename; _imageContent = imagecontent; }
public UserLedgerEntry01(int id, string username, string passphrase) { // Entity Header fields ___entityserializationsignature = EntitySerialization01.ENTITYSERIALIZATION_SIGNATURE; ___entityserializationversion = EntitySerialization01.ENTITYSERIALIZATION_VERSION; ___fieldserializationversion = FieldSerialization01.FIELDSERIALIZATION_VERSION; ___entitystate = EntitySerialization01.EntityState.INITIALIZED; ___nfields = EntitySerialization01.NSYSTEMFIELDS + __NENTITYFIELDS; // Entity System fields __entitytypehash = ENTITY_TYPE; __created = DateTime.UtcNow.Ticks; __modified = 0; __changeindex = 0; // Entity Data fields _id = id; _username = username; _passphrase = passphrase; }
private EntitySerialization01.EntityState OnChangeState(EntitySerialization01.EntityState newState) { EntitySerialization01.EntityState prevState = ___entitystate; OnChangeFieldValue(EntitySerialization01.FieldIndices.HEADERFIELDS, newState); return(prevState); }