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); }
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); } } } }
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); } } } }