Пример #1
0
            private void AddChild(Application app, AppPath appPath, int pathIndex)
            {
                if (pathIndex < 0)
                {
                    return;
                }
                var name        = appPath.Indices[pathIndex];
                var appNodeType = appPath.AppNodeTypes[pathIndex];

                if (pathIndex < appPath.Indices.Length - 1)
                {
                    AppNode child = null;
                    foreach (var pathChild in this.Children)
                    {
                        if (pathChild.Name == name && pathChild.AppNodeType == appNodeType)
                        {
                            child = (AppNode)pathChild;
                            break;
                        }
                    }
                    var nextIndex = appPath.GetNextIndex(pathIndex);
                    if (child == null)
                    {
                        child = new AppNode(name, appNodeType, this);
                    }
                    child.AddChild(app, appPath, nextIndex);
                }
                else
                {
                    var child = new AppNode(name, appNodeType, this, app);
                }
            }