Пример #1
0
        /// <summary>
        /// Saves the GreyFoxRole object state to the database.
        /// </summary>
        public int Save()
        {
            lock (this)
            {
                if (isSynced)
                {
                    return(iD);
                }

                if (iD == -1)
                {
                    throw (new Exception("Invalid record; cannot be saved."));
                }
                if (iD == 0)
                {
                    iD = GreyFoxRoleManager._insert(this);
                }
                else
                {
                    GreyFoxRoleManager._update(this);
                }
                isSynced = iD != -1;
            }
            return(iD);
        }
Пример #2
0
 public GreyFoxRole(int id)
 {
     this.iD = id;
     lock (this)
     {
         isSynced = GreyFoxRoleManager._fill(this);
     }
 }
Пример #3
0
        /// <summary>
        /// Duplicates GreyFoxRole object into a database; may or may not be the same database
        /// as the parent object.
        /// </summary>
        /// <returns> A new GreyFoxRole object reflecting the replicated GreyFoxRole object.</returns>
        public GreyFoxRole Duplicate()
        {
            lock (this)
            {
                GreyFoxRole clonedGreyFoxRole = this.Clone();

                // Insert must be called after children are replicated!
                clonedGreyFoxRole.iD       = GreyFoxRoleManager._insert(clonedGreyFoxRole);
                clonedGreyFoxRole.isSynced = true;
                return(clonedGreyFoxRole);
            }
        }
Пример #4
0
        /// <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)
            {
                GreyFoxRoleManager._fill(this);
                isPlaceHolder = false;
            }
        }
Пример #5
0
 /// <summary>
 /// Overwrites and existing GreyFoxRole object in the database.
 /// </summary>
 public void Overwrite(int id)
 {
     iD = id;
     GreyFoxRoleManager._update(this);
     isSynced = true;
 }
Пример #6
0
 public void Delete()
 {
     GreyFoxRoleManager._delete(this.iD);
     this.iD  = 0;
     isSynced = false;
 }