/// <summary> /// Saves the YariMediaRecord object state to the database. /// </summary> public int Save() { if (mediaType != null) { mediaType.Save(); } if (keywords != null) { foreach (YariMediaKeyword item in keywords) { item.Save(); } } if (isSynced) { return(iD); } if (iD == -1) { throw (new Exception("Invalid record; cannot be saved.")); } if (iD == 0) { iD = YariMediaRecordManager._insert(this); } else { YariMediaRecordManager._update(this); } isSynced = iD != -1; return(iD); }
/// <summary> /// Duplicates YariMediaRecord object into a database; may or may not be the same database /// as the parent object. /// </summary> /// <returns> A new YariMediaRecord object reflecting the replicated YariMediaRecord object.</returns> public YariMediaRecord Duplicate() { YariMediaRecord clonedYariMediaRecord = this.Clone(); // Insert must be called after children are replicated! clonedYariMediaRecord.iD = YariMediaRecordManager._insert(clonedYariMediaRecord); clonedYariMediaRecord.isSynced = true; return(clonedYariMediaRecord); }