private void PopulateTree(string strParentID, int searchValue, File targetFile)
        {
            FileController fileCtrl = new FileController();
            File rootFile;
            if (strParentID != "-1")
            {
                rootFile = fileCtrl.Get(Convert.ToInt32(strParentID));
            }
            else
            {
                rootFile = new File();
                rootFile.ID = -1;
                rootFile.Name = "Portal Root Folder";
            }

            List<File> listFiles = fileCtrl.GetItemsByParent(rootFile.ID, UserId, PortalId, PortalSettings.AdministratorRoleId, "Asc") as List<File>;
            System.Web.UI.WebControls.TreeNode rootNode = new System.Web.UI.WebControls.TreeNode(rootFile.Name, rootFile.ID.ToString(), "images/folder_16_hot.png");
            rootNode.Expanded = false;
            treeFolders.Nodes.Add(rootNode);
            populateChildren(rootNode, searchValue, targetFile);
        }
示例#2
0
        private void PopulateTree(int searchValue)
        {
            FileController fileCtrl = new FileController();
            FileConfigurationController ctrlConfig = new FileConfigurationController();
            var configs = ctrlConfig.GetItems(PortalId) as List<FileConfiguration>;
            if (configs.Count > 0)
            {
                //check for root shared folder
                var rootFolder = fileCtrl.GetRootPortalFolder(PortalId, UserId);

                //if none exists, create
                if (rootFolder == null)
                {
                    rootFolder = fileCtrl.CreateRootSharedFolder(UserId, PortalId);
                }
                configs[0].RootSharedFolderID = rootFolder.ID;

                //check root users folder
                if (configs[0].RootUsersFolderID == 0)
                {
                    //if none exists, create
                    configs[0].RootUsersFolderID = fileCtrl.CreateRootUsersFolder(UserId, PortalId).ID;
                }

                //check root groups folder
                if (configs[0].RootGroupsFolderID == 0)
                {
                    //if none exists, create
                    configs[0].RootGroupsFolderID = fileCtrl.CreateRootGroupsFolder(UserId, PortalId).ID;
                }

                //update config
                ctrlConfig.Update(configs[0]);
            }

            File rootFile = new File();
            rootFile.ID = -1;
            rootFile.Name = "QuickDocsPro";

            List<File> listFiles = fileCtrl.GetItemsByParent(rootFile.ID, UserId, PortalId, PortalSettings.AdministratorRoleId, "Asc") as List<File>;
            System.Web.UI.WebControls.TreeNode rootNode = new System.Web.UI.WebControls.TreeNode(rootFile.Name, rootFile.ID.ToString(), "images/window_16_hot.png");
            rootNode.Expanded = false;

            treeFolders.Nodes.Add(rootNode);
            populateChildren(rootNode, searchValue, configs[0]);

            if (rootNode.Value == searchValue.ToString())
            {
                rootNode.Selected = true;
            }
        }
        private void populateChildren(System.Web.UI.WebControls.TreeNode parentNode, int searchValue, File targetFile)
        {
            if (parentNode == null)
                return;

            //if (this.Request.QueryString["File"] != null)
            //{
            //    _FileID = Int32.Parse(this.Request.QueryString["File"]);
            //}

            //get folders
            FileController fileCtrl = new FileController();
            List<File> listFiles = fileCtrl.GetItemsByParent(Convert.ToInt32(parentNode.Value), UserId, PortalId, PortalSettings.AdministratorRoleId, "Asc") as List<File>;

            foreach (File file in listFiles)
            {
                //Skip getting child items if:
                //item is not folder || item is a folder and matches target item || item can't be modified
                //if (file.ItemType != 0 || file.ID == _FileID|| !file.CanModify(UserId, PortalId, PortalSettings.AdministratorRoleId))
                if (file.ItemType != 0 || !file.CanModify(UserId, PortalId, PortalSettings.AdministratorRoleId, true))
                {
                    continue;
                }
                System.Web.UI.WebControls.TreeNode fileChild = new System.Web.UI.WebControls.TreeNode(file.Name, file.ID.ToString(), "images/folder_16_hot.png");
                if (parentNode != null)
                {
                    //fileChild.PopulateOnDemand = true;
                    fileChild.Expanded = false;
                    //don't get child folder for target
                    if (targetFile.ID != file.ID)
                    {
                        parentNode.ChildNodes.Add(fileChild);
                        populateChildren(fileChild, searchValue, targetFile);
                    }

                    if (fileChild.Value == searchValue.ToString())
                    {
                        fileChild.Selected = true;
                        ExpandParentNode(fileChild);
                    }

                }
            }
        }
示例#4
0
        private void populateChildren(System.Web.UI.WebControls.TreeNode parentNode, int searchValue, FileConfiguration config)
        {
            if (parentNode == null)
                return;

            //get folders
            FileController fileCtrl = new FileController();
            List<File> listFiles = fileCtrl.GetItemsByParent(Convert.ToInt32(parentNode.Value), UserId, PortalId, PortalSettings.AdministratorRoleId, "Asc") as List<File>;

            foreach (File file in listFiles)
            {
                //Skip getting child items if:
                //item is not folder || item is a folder and matches target item || item can't be modified
                if (file.ItemType != 0 || !file.CanModify(UserId, PortalId, PortalSettings.AdministratorRoleId, true))
                {
                    continue;
                }

                System.Web.UI.WebControls.TreeNode fileChild;

                //check for protected folders
                if (file.ID == config.RootUsersFolderID || file.ID == config.RootGroupsFolderID || file.ID == config.RootSharedFolderID)
                {
                    file.Name = file.Name + " (protected)";
                    fileChild = new System.Web.UI.WebControls.TreeNode(file.Name, file.ID.ToString(), "images/lock_16_hot.png");
                }
                else
                {
                    fileChild = new System.Web.UI.WebControls.TreeNode(file.Name, file.ID.ToString(), "images/folder_16_hot.png");
                }

                if (parentNode != null)
                {
                    //fileChild.PopulateOnDemand = true;
                    fileChild.Expanded = false;
                    parentNode.ChildNodes.Add(fileChild);
                    populateChildren(fileChild, searchValue, config);

                    if (fileChild.Value == searchValue.ToString())
                    {
                        fileChild.Selected = true;
                        ExpandParentNode(fileChild);
                    }
                }
            }
        }