Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }