private void PopulateFolderControls() { Title = SiteUtils.FormatPageTitle(siteSettings, SharedFileResources.SharedFilesEditFolderLabel); heading.Text = SharedFileResources.SharedFilesEditFolderLabel; SharedFileFolder folder = new SharedFileFolder(this.moduleId, this.itemId); if ((folder.FolderId > 0) && (folder.ModuleId == this.moduleId)) { this.pnlNotFound.Visible = false; this.pnlFile.Visible = false; this.pnlFolder.Visible = true; this.txtFolderName.Text = folder.FolderName; List <SharedFileFolder> allFolders = SharedFileFolder.GetSharedModuleFolderList(folder.ModuleId); this.ddFolderList.DataSource = allFolders; this.ddFolderList.DataBind(); this.ddFolderList.Items.Insert(0, new ListItem("Root", "-1")); this.ddFolderList.SelectedValue = folder.ParentId.ToString(); // prevent a folder from being its own parent ListItem item = this.ddFolderList.Items.FindByText(folder.FolderName); if (item != null) { this.ddFolderList.Items.Remove(item); } //// prevent a children folder from being parent //// build list List <int> toRemove = new List <int>(); foreach (ListItem fldItem in this.ddFolderList.Items) { //SharedFileFolder currentFolder = new SharedFileFolder(this.moduleId, Convert.ToInt32(fldItem.Value)); SharedFileFolder currentFolder = SharedFilesHelper.GetFolderFromListById(Convert.ToInt32(fldItem.Value), allFolders); if (currentFolder != null) { if (SharedFilesHelper.GetAllParentsFolderIds(currentFolder, allFolders).Contains(folder.FolderId)) { toRemove.Add(currentFolder.FolderId); } } } // remove list foreach (int itemToRemove in toRemove) { this.ddFolderList.Items.Remove(this.ddFolderList.Items.FindByValue(itemToRemove.ToInvariantString())); } } else { this.pnlNotFound.Visible = true; this.pnlFolder.Visible = false; this.pnlFile.Visible = false; } }
private void BindData() { if (CurrentFolderId > -1) { SharedFileFolder folder = new SharedFileFolder(ModuleId, CurrentFolderId); btnGoUp.Visible = true; rptFoldersLinks.Visible = true; if (displaySettings.ShowClickableFolderPathCrumbs) { lblCurrentDirectory.Visible = false; // by Thomas N List <SharedFileFolder> allFolders = SharedFileFolder.GetSharedModuleFolderList(folder.ModuleId); rptFoldersLinks.DataSource = SharedFilesHelper.GetAllParentsFolder(folder, allFolders); IEnumerable <SharedFileFolder> fullPathList = SharedFilesHelper.GetAllParentsFolder(folder, allFolders).Concat(Enumerable.Repeat(folder, 1)); rptFoldersLinks.DataSource = fullPathList; rptFoldersLinks.DataBind(); } else { lblCurrentDirectory.Text = folder.FolderName; } } else { lblCurrentDirectory.Visible = false; btnGoUp.Visible = false; rptFoldersLinks.Visible = false; } DataView dv = new DataView(SharedFileFolder.GetFoldersAndFiles(ModuleId, CurrentFolderId)); EnumerableRowCollection <DataRow> query = from row in dv.Table.AsEnumerable() where CheckRoles(row.Field <string>("ViewRoles")) select row; DataView view = query.AsDataView(); view.Sort = $"type ASC, filename {config.DefaultSort}"; dgFile.DataSource = view; dgFile.DataBind(); lblCounter.Text = $"{dgFile.Rows.Count.ToString()} {SharedFileResources.FileManagerObjectsLabel}"; }
private void BindData() { if (CurrentFolderId > -1) { SharedFileFolder folder = new SharedFileFolder(this.ModuleId, CurrentFolderId); btnGoUp.Visible = true; rptFoldersLinks.Visible = true; if (displaySettings.ShowClickableFolderPathCrumbs) { lblCurrentDirectory.Visible = false; // by Thomas N List <SharedFileFolder> allFolders = SharedFileFolder.GetSharedModuleFolderList(folder.ModuleId); rptFoldersLinks.DataSource = SharedFilesHelper.GetAllParentsFolder(folder, allFolders); IEnumerable <SharedFileFolder> fullPathList = SharedFilesHelper.GetAllParentsFolder(folder, allFolders).Concat(Enumerable.Repeat(folder, 1)); rptFoldersLinks.DataSource = fullPathList; rptFoldersLinks.DataBind(); } else { lblCurrentDirectory.Text = folder.FolderName; } } else { lblCurrentDirectory.Visible = false; btnGoUp.Visible = false; rptFoldersLinks.Visible = false; } DataView dv = new DataView(SharedFileFolder.GetFoldersAndFiles(ModuleId, CurrentFolderId)); dv.Sort = "type ASC, filename" + " " + config.DefaultSort; dgFile.DataSource = dv; dgFile.DataBind(); lblCounter.Text = dgFile.Rows.Count.ToString() + " " + SharedFileResources.FileManagerObjectsLabel; }