Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
 public GreyFoxEvent(string tableName, int id)
 {
     this.iD        = id;
     this.tableName = tableName;
     lock (this)
     {
         isSynced = GreyFoxEventManager._fill(this);
     }
 }
Exemplo n.º 3
0
        /// <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);
            }
        }
Exemplo n.º 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)
            {
                GreyFoxEventManager._fill(this);
                isPlaceHolder = false;
            }
        }
Exemplo n.º 5
0
 /// <summary>
 /// Overwrites and existing GreyFoxEvent object in the database.
 /// </summary>
 public void Overwrite(int id)
 {
     iD = id;
     GreyFoxEventManager._update(this);
     isSynced = true;
 }
Exemplo n.º 6
0
 public void Delete()
 {
     GreyFoxEventManager._delete(this.tableName, this.iD);
     this.iD  = 0;
     isSynced = false;
 }