예제 #1
0
        /// <summary>
        /// Saves the DojoOrganization object state to the database.
        /// </summary>
        public int Save()
        {
            if (classLocations != null)
            {
                foreach (GreyFoxContact item in classLocations)
                {
                    item.Save();
                }
            }
            if (administrativeContact != null)
            {
                administrativeContact.Save();
            }

            if (isSynced)
            {
                return(iD);
            }

            if (iD == -1)
            {
                throw (new Exception("Invalid record; cannot be saved."));
            }
            if (iD == 0)
            {
                iD = DojoOrganizationManager._insert(this);
            }
            else
            {
                DojoOrganizationManager._update(this);
            }
            isSynced = iD != -1;
            return(iD);
        }
예제 #2
0
        /// <summary>
        /// Duplicates DojoOrganization object into a database; may or may not be the same database
        /// as the parent object.
        /// </summary>
        /// <returns> A new DojoOrganization object reflecting the replicated DojoOrganization object.</returns>
        public DojoOrganization Duplicate()
        {
            DojoOrganization clonedDojoOrganization = this.Clone();

            // Insert must be called after children are replicated!
            clonedDojoOrganization.iD       = DojoOrganizationManager._insert(clonedDojoOrganization);
            clonedDojoOrganization.isSynced = true;
            return(clonedDojoOrganization);
        }