Exemple #1
0
        /// <summary>calls the action on this object and all children</summary>
        /// <param name="action">an IAtomBaseAction interface to call </param>
        /// <returns>true or false, pending outcome</returns>
        public override bool WalkTree(IBaseWalkerAction action)
        {
            if (base.WalkTree(action))
            {
                return(true);
            }

            foreach (AtomPerson person in Authors)
            {
                if (person.WalkTree(action))
                {
                    return(true);
                }
            }

            // saving Contributors
            foreach (AtomPerson person in Contributors)
            {
                if (person.WalkTree(action))
                {
                    return(true);
                }
            }

            // saving Categories
            foreach (AtomCategory category in Categories)
            {
                if (category.WalkTree(action))
                {
                    return(true);
                }
            }

            // saving the generator
            if (Generator != null)
            {
                if (Generator.WalkTree(action))
                {
                    return(true);
                }
            }

            // save the icon
            if (Icon != null)
            {
                if (Icon.WalkTree(action))
                {
                    return(true);
                }
            }

            // save the logo
            if (Logo != null)
            {
                if (Logo.WalkTree(action))
                {
                    return(true);
                }
            }

            // save the ID
            if (Id != null)
            {
                if (Id.WalkTree(action))
                {
                    return(true);
                }
            }

            // save the Links
            foreach (AtomLink link in Links)
            {
                if (link.WalkTree(action))
                {
                    return(true);
                }
            }

            if (Rights != null)
            {
                if (Rights.WalkTree(action))
                {
                    return(true);
                }
            }

            if (Subtitle != null)
            {
                if (Subtitle.WalkTree(action))
                {
                    return(true);
                }
            }

            if (Title != null)
            {
                if (Title.WalkTree(action))
                {
                    return(true);
                }
            }

            return(false);
        }