public override void Render(ref XmlTree tree)
        {
            _packageType = HttpContext.Current.Request.QueryString["packageType"];

            switch (_packageType)
            {
            case "installed":
                Version v;
                // Display the unique packages, ordered by the latest version number. [LK 2013-06-10]
                var uniquePackages = InstalledPackage.GetAllInstalledPackages()
                                     .OrderByDescending(x => Version.TryParse(x.Data.Version, out v) ? v : new Version())
                                     .GroupBy(x => x.Data.Name)
                                     .Select(x => x.First())
                                     .OrderBy(x => x.Data.Name);
                foreach (var p in uniquePackages)
                {
                    var xNode = XmlTreeNode.Create(this);
                    xNode.NodeID   = string.Concat(PACKAGE_TREE_PREFIX, p.Data.Id);
                    xNode.Text     = p.Data.Name;
                    xNode.Action   = string.Format("javascript:openInstalledPackage('{0}');", p.Data.Id);
                    xNode.Icon     = "icon-box";
                    xNode.OpenIcon = "icon-box";
                    xNode.NodeType = "createdPackageInstance";
                    tree.Add(xNode);
                }
                break;

            case "created":
                foreach (CreatedPackage p in CreatedPackage.GetAllCreatedPackages())
                {
                    XmlTreeNode xNode = XmlTreeNode.Create(this);
                    xNode.NodeID   = PACKAGE_TREE_PREFIX + p.Data.Id.ToString();
                    xNode.Text     = p.Data.Name;
                    xNode.Action   = "javascript:openCreatedPackage('" + p.Data.Id.ToString() + "');";
                    xNode.Icon     = "icon-box";
                    xNode.OpenIcon = "icon-box";
                    xNode.NodeType = "createdPackageInstance";
                    xNode.Menu.Add(umbraco.BusinessLogic.Actions.ActionDelete.Instance);
                    tree.Add(xNode);
                }
                break;

            case "repositories":
                List <cms.businesslogic.packager.repositories.Repository> repos = cms.businesslogic.packager.repositories.Repository.getAll();

                foreach (cms.businesslogic.packager.repositories.Repository repo in repos)
                {
                    XmlTreeNode xNode = XmlTreeNode.Create(this);
                    xNode.Text     = repo.Name;
                    xNode.Action   = "javascript:openPackageCategory('BrowseRepository.aspx?repoGuid=" + repo.Guid + "');";
                    xNode.Icon     = "icon-server-alt";
                    xNode.OpenIcon = "icon-server-alt";
                    xNode.NodeType = "packagesRepo" + repo.Guid;
                    xNode.Menu.Add(umbraco.BusinessLogic.Actions.ActionRefresh.Instance);
                    xNode.Source = "tree.aspx?app=" + this._app + "&id=" + this._id + "&treeType=packagerPackages&packageType=repository&repoGuid=" + repo.Guid + "&rnd=" + Guid.NewGuid();
                    tree.Add(xNode);
                }

                break;

            case "repository":

                _repoGuid = HttpContext.Current.Request.QueryString["repoGuid"];
                Umbraco.Web.org.umbraco.our.Repository r = new Umbraco.Web.org.umbraco.our.Repository();

                foreach (var cat in r.Categories(_repoGuid))
                {
                    XmlTreeNode xNode = XmlTreeNode.Create(this);
                    xNode.NodeID   = cat.Id.ToInvariantString();
                    xNode.Text     = cat.Text;
                    xNode.Action   = "javascript:openPackageCategory('BrowseRepository.aspx?category=" + cat.Id + "&repoGuid=" + _repoGuid + "');";
                    xNode.Icon     = "icon-folder";
                    xNode.OpenIcon = "icon-folder";
                    xNode.NodeType = "packagesCategory" + cat.Id;
                    tree.Add(xNode);
                }

                break;
            }
        }
Ejemplo n.º 2
0
        public override void Render(ref XmlTree tree)
        {

            _packageType = HttpContext.Current.Request.QueryString["packageType"];
           
            switch (_packageType)
            {
                case "installed":
                    Version v;
                    // Display the unique packages, ordered by the latest version number. [LK 2013-06-10]
                    var uniquePackages = InstalledPackage.GetAllInstalledPackages()
                        .OrderByDescending(x => Version.TryParse(x.Data.Version, out v) ? v : new Version())
                        .GroupBy(x => x.Data.Name)
                        .Select(x => x.First())
                        .OrderBy(x => x.Data.Id);
                    foreach (var p in uniquePackages)
                    {
                        var xNode = XmlTreeNode.Create(this);
                        xNode.NodeID = string.Concat(PACKAGE_TREE_PREFIX, p.Data.Id);
                        xNode.Text = p.Data.Name;
                        xNode.Action = string.Format("javascript:openInstalledPackage('{0}');", p.Data.Id);
                        xNode.Icon = "icon-box";
                        xNode.OpenIcon = "icon-box";
                        xNode.NodeType = "createdPackageInstance";
                        tree.Add(xNode);
                    }
                    break;

                case "created":
                    foreach (CreatedPackage p in CreatedPackage.GetAllCreatedPackages())
                    {

                        XmlTreeNode xNode = XmlTreeNode.Create(this);
                        xNode.NodeID = PACKAGE_TREE_PREFIX + p.Data.Id.ToString();
                        xNode.Text = p.Data.Name;
                        xNode.Action = "javascript:openCreatedPackage('" + p.Data.Id.ToString() + "');";
                        xNode.Icon = "icon-box";
                        xNode.OpenIcon = "icon-box";
                        xNode.NodeType = "createdPackageInstance";
                        xNode.Menu.Add(umbraco.BusinessLogic.Actions.ActionDelete.Instance);
                        tree.Add(xNode);
                    }
                    break;

                case "repositories":
                    List<cms.businesslogic.packager.repositories.Repository> repos = cms.businesslogic.packager.repositories.Repository.getAll();

                    foreach (cms.businesslogic.packager.repositories.Repository repo in repos)
                    {
                        XmlTreeNode xNode = XmlTreeNode.Create(this);
                        xNode.Text = repo.Name;
                        xNode.Action = "javascript:openPackageCategory('BrowseRepository.aspx?repoGuid=" + repo.Guid + "');";
                        xNode.Icon = "icon-server-alt";
                        xNode.OpenIcon = "icon-server-alt";
                        xNode.NodeType = "packagesRepo" + repo.Guid;
                        xNode.Menu.Add( umbraco.BusinessLogic.Actions.ActionRefresh.Instance );
                        xNode.Source = "tree.aspx?app=" + this._app + "&id=" + this._id + "&treeType=packagerPackages&packageType=repository&repoGuid=" + repo.Guid + "&rnd=" + Guid.NewGuid();
                        tree.Add(xNode);
                        
                    }

                    break;
                case "repository":

                    _repoGuid = HttpContext.Current.Request.QueryString["repoGuid"];
                    Umbraco.Web.org.umbraco.our.Repository r = new Umbraco.Web.org.umbraco.our.Repository();
                    
                    foreach (var cat in r.Categories(_repoGuid))
                    {
                        XmlTreeNode xNode = XmlTreeNode.Create(this);
                        xNode.NodeID = cat.Id.ToInvariantString();
                        xNode.Text = cat.Text;
                        xNode.Action = "javascript:openPackageCategory('BrowseRepository.aspx?category=" + cat.Id + "&repoGuid=" + _repoGuid + "');";
                        xNode.Icon = "icon-folder";
                        xNode.OpenIcon = "icon-folder";
                        xNode.NodeType = "packagesCategory" + cat.Id;                        
                        tree.Add(xNode);
                    
                    }
                    
                    break;
            }

        }