示例#1
0
        internal void Rename(string newName, DefaultNodeRename defaultNodeRename)
        {
            if (newName == null)
            {
                throw new ArgumentNullException("newName");
            }
            if (newName == Name)
            {
                return;
            }
            string oldName = Name;

            if (parent == null)
            {
                Site.Name = newName;
            }
            else
            {
                if (parent.childNodeLookup.Contains(newName))
                {
                    throw new InvalidOperationException(SR.ExceptionNodeNameAlreadyExists(newName));
                }
                if (defaultNodeRename == DefaultNodeRename.DoNotForceRename)
                {
                    parent.childNodeLookup.Remove(oldName);

                    try
                    {
                        parent.childNodeLookup.Add(newName, this);
                    }
                    catch
                    {
                        parent.childNodeLookup.Add(oldName, this);
                        throw;
                    }
                }
                Site.Name = newName;
            }
            if (defaultNodeRename == DefaultNodeRename.DoNotForceRename)
            {
                Hierarchy.RenameNode(this, oldName, newName);
            }
            OnRenamed(new ConfigurationNodeChangedEventArgs(ConfigurationNodeChangedAction.Rename, this, parent));
        }
示例#2
0
        internal void Rename(string newName, DefaultNodeRename defaultNodeRename)
        {
            if (newName == null)
            {
                throw new ArgumentNullException("newName");
            }
            if (newName == Name)
            {
                return;
            }
            string oldName = Name;
            if (parent == null)
            {
                Site.Name = newName;
            }
            else
            {
                if (parent.childNodeLookup.Contains(newName))
                {
                    throw new InvalidOperationException(SR.ExceptionNodeNameAlreadyExists(newName));
                }
                if (defaultNodeRename == DefaultNodeRename.DoNotForceRename)
                {
                    parent.childNodeLookup.Remove(oldName);

                    try
                    {
                        parent.childNodeLookup.Add(newName, this);
                    }
                    catch
                    {
                        parent.childNodeLookup.Add(oldName, this);
                        throw;
                    }
                }
                Site.Name = newName;
            }
            if (defaultNodeRename == DefaultNodeRename.DoNotForceRename)
            {
                Hierarchy.RenameNode(this, oldName, newName);
            }
            OnRenamed(new ConfigurationNodeChangedEventArgs(ConfigurationNodeChangedAction.Rename, this, parent));
        }