示例#1
0
 public void Delete()
 {
     GreyFoxUserManager._delete(this.iD);
     this.iD  = 0;
     isSynced = false;
     contact.Delete();
 }
示例#2
0
 public GreyFoxUser(int id)
 {
     this.iD = id;
     lock (this)
     {
         isSynced = GreyFoxUserManager._fill(this);
     }
 }
示例#3
0
        /// <summary>
        /// Duplicates GreyFoxUser object into a database; may or may not be the same database
        /// as the parent object.
        /// </summary>
        /// <returns> A new GreyFoxUser object reflecting the replicated GreyFoxUser object.</returns>
        public GreyFoxUser Duplicate()
        {
            lock (this)
            {
                GreyFoxUser clonedGreyFoxUser = this.Clone();

                // Insert must be called after children are replicated!
                clonedGreyFoxUser.iD       = GreyFoxUserManager._insert(clonedGreyFoxUser);
                clonedGreyFoxUser.isSynced = true;
                return(clonedGreyFoxUser);
            }
        }
示例#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)
            {
                GreyFoxUserManager._fill(this);
                isPlaceHolder = false;
            }
        }
示例#5
0
        /// <summary>
        /// Saves the GreyFoxUser object state to the database.
        /// </summary>
        public int Save()
        {
            lock (this)
            {
                if (contact != null)
                {
                    contact.Save();
                }
                if (roles != null)
                {
                    foreach (GreyFoxRole item in roles)
                    {
                        item.Save();
                    }
                }

                if (isSynced)
                {
                    return(iD);
                }

                if (iD == -1)
                {
                    throw (new Exception("Invalid record; cannot be saved."));
                }
                if (iD == 0)
                {
                    iD = GreyFoxUserManager._insert(this);
                }
                else
                {
                    GreyFoxUserManager._update(this);
                }
                isSynced = iD != -1;
            }
            return(iD);
        }
示例#6
0
 /// <summary>
 /// Overwrites and existing GreyFoxUser object in the database.
 /// </summary>
 public void Overwrite(int id)
 {
     iD = id;
     GreyFoxUserManager._update(this);
     isSynced = true;
 }