/// <summary> /// Saves the GreyFoxEvent object state to the database. /// </summary> public int Save() { lock (this) { if (user != null) { user.Save(); } if (isSynced) { return(iD); } if (iD == -1) { throw (new Exception("Invalid record; cannot be saved.")); } if (iD == 0) { iD = GreyFoxEventManager._insert(this); } else { GreyFoxEventManager._update(this); } isSynced = iD != -1; } return(iD); }
public GreyFoxEvent(string tableName, int id) { this.iD = id; this.tableName = tableName; lock (this) { isSynced = GreyFoxEventManager._fill(this); } }
/// <summary> /// Duplicates GreyFoxEvent object into a database; may or may not be the same database /// as the parent object. /// </summary> /// <returns> A new GreyFoxEvent object reflecting the replicated GreyFoxEvent object.</returns> public GreyFoxEvent Duplicate(string tableName) { lock (this) { GreyFoxEvent clonedGreyFoxEvent = this.Clone(); clonedGreyFoxEvent.tableName = tableName; // Insert must be called after children are replicated! clonedGreyFoxEvent.iD = GreyFoxEventManager._insert(clonedGreyFoxEvent); clonedGreyFoxEvent.isSynced = true; return(clonedGreyFoxEvent); } }
/// <summary> /// Ensures that the object's fields and children are /// pre-loaded before any updates or reads. /// </summary> public void EnsurePreLoad() { if (!isPlaceHolder) { return; } lock (this) { GreyFoxEventManager._fill(this); isPlaceHolder = false; } }
/// <summary> /// Overwrites and existing GreyFoxEvent object in the database. /// </summary> public void Overwrite(int id) { iD = id; GreyFoxEventManager._update(this); isSynced = true; }
public void Delete() { GreyFoxEventManager._delete(this.tableName, this.iD); this.iD = 0; isSynced = false; }