예제 #1
0
        /// <summary>
        /// Initialises a new instance of the DbHierarchicalObject class
        /// </summary>
        /// <param name="parent">Parent object</param>
        protected DbHierarchicalObject(DbHierarchicalObject <T> parent)
            : base()
        {
            this.parent = parent;
            this.child  = null;

            Saved   += DbHierarchicalObject_Saved;
            Deleted += DbHierarchicalObject_Deleted;
        }
예제 #2
0
        private void DbHierarchicalObject_Deleted(object sender, DbObjectDeletedEventArgs <T> e)
        {
            DbHierarchicalObject <T> currentChild = this.child;

            while (currentChild != null)
            {
                currentChild.IsInDatabase = false;
                currentChild.ResetProperties();
                currentChild = currentChild.child;
            }
        }
예제 #3
0
 /// <summary>
 /// Gets the child object that belongs to the specified parent
 /// </summary>
 /// <param name="conn">Open connection to the database</param>
 /// <param name="parent">Parent of the desired child</param>
 /// <returns>Child object that belongs to the specified parent</returns>
 internal abstract DbHierarchicalObject <T> GetChildByParent(DbConnection conn, DbHierarchicalObject <T> parent);